package a.f.d.a;

import a.c.ab;
import a.c.bb;
import a.c.e;
import a.c.k;
import a.c.m;
import a.c.v;
import a.c.x;
import a.d.f;
import a.d.s;
import a.d.t;
import a.d.u;
import a.f.c.c;
import a.f.cd;
import a.f.wb;
import a.i.db;
import a.i.l;
import a.i.p;

import java.awt.geom.Rectangle2D;
import java.util.*;

public class hb
{
  private static final double a = 0.001D;
  final ab b = new ab();
  a.f.o c;
  bc d;
  k e;
  c f;
  k h;
  private a.c.z i = new a.c.z();
  private a.i.y j;
  private ad k;
  private double l = 0.0D;
  private final a.c.n m;
  private final a.c.n n;
  private final Map p;
  private Random q = new Random(0L);
  k r;
  public static int s;
  
  hb(a.f.o paramo, bc parambc, k paramk)
  {
    this.c = paramo;
    this.d = parambc;
    this.e = paramk;
    this.k = new ad(this, paramo, parambc);
    this.p = new HashMap();
    this.m = db.b();
    this.n = db.b();
    this.h = paramo.c(i.c);
    if (this.h != null)
    {
      p local7 = new p()
      {
        public boolean getBool(Object paramAnonymousObject)
        {
          return hb.this.g((e)paramAnonymousObject);
        }
      };
      paramo.a(i.c, local7);
    }
  }
  
  boolean a()
  {
    return this.e != null;
  }
  
  public void b()
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    if (!bool2) {
      if (!o())
      {
        this.f = new c();
        this.f.c(this.c);
        if (!bool2) {
          if (!bool1) {
            return;
          }
        }
      }
      else
      {
        this.j = new a.i.y(this.c);
      }
    }
    int i1 = 0;
    do
    {
      if (i1 >= this.k.L.size()) {
        break;
      }
      zc localzc = (zc)this.k.L.get(i1);
      if (!bool2)
      {
        if ((localzc.b != null) && (localzc.b.g() != null)) {
          this.j.a(localzc.b);
        }
        i1++;
      }
    } while (!bool1);
  }
  
  public void c()
  {
    boolean bool = d.R;
    if (!bool) {
      if (!o())
      {
        if (bool) {
          break label37;
        }
        this.f.d(this.c);
        if (!d.Q) {
          return;
        }
      }
    }
    label37:
    if ((bool) || (this.j != null))
    {
      this.j.g();
      this.j = null;
    }
  }
  
  void a(ac paramac)
  {
    a(paramac, null);
  }
  
  void a(ac paramac, x paramx)
  {
    if (!d.R) {
      if (!o()) {
        return;
      }
    }
    this.k.a(paramac, paramx);
  }
  
  void b(ac paramac)
  {
    if (!d.R) {
      if (!o()) {
        return;
      }
    }
    this.k.b(this.d);
  }
  
  void c(ac paramac)
  {
    if (!d.R) {
      if (!o()) {
        return;
      }
    }
    this.k.a(paramac, this.d, this.k);
  }
  
  void d(ac paramac)
  {
    if (!d.R) {
      if (!o()) {
        return;
      }
    }
    this.k.e(paramac, this.d);
  }
  
  void e(ac paramac)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    if (!bool2) {
      if (!o()) {
        return;
      }
    }
    int i1 = 0;
    Object localObject;
    label263:
    label270:
    do
    {
      if (i1 >= paramac.a()) {
        break;
      }
      localObject = paramac.a(i1);
      do
      {
        if (bool2) {
          break label397;
        }
        if (((vb)localObject).d() != 2)
        {
          if (bool2) {
            break label397;
          }
          if (((vb)localObject).d() != 3)
          {
            v localv = ((vb)localObject).c().f();
            do
            {
              if (localv == null) {
                break label387;
              }
              e locale = (e)localv.c();
              ec localec = this.d.a(locale);
              if (bool1) {
                break;
              }
              if (localec.d() != 12)
              {
                if (bool2) {
                  continue;
                }
                if (localec.d() != 13) {}
              }
              else
              {
                double d1 = this.c.p(locale);
                if (localec.d() == 13) {
                  d1 += this.c.s(locale);
                }
                zc localzc = i(localec.a());
                if (!bool2) {
                  if (localzc.x == null)
                  {
                    localzc.x = new Rectangle2D.Double(d1, this.c.q(locale), 0.0D, 0.0D);
                    if (bool2) {
                      break label270;
                    }
                    if (!bool1) {
                      break label263;
                    }
                  }
                }
                localzc.x.add(d1, this.c.q(locale));
                if (!bool2)
                {
                  if ((localec.d() == 12) && ((bool2) || (localzc.B == localObject))) {
                    localzc.x.add(d1, this.c.q(locale) - localzc.y);
                  }
                  if (bool2) {
                    continue;
                  }
                }
                if (localec.d() == 12) {
                  if ((bool2) || (localzc.C == localObject)) {
                    localzc.x.add(d1, this.c.q(locale) + localzc.z);
                  }
                }
              }
              localv = localv.a();
            } while (!bool1);
          }
        }
        i1++;
      } while (bool2);
    } while (!bool1);
    label387:
    label397:
    Iterator localIterator = this.k.L.iterator();
    do
    {
      do
      {
        do
        {
          if (!localIterator.hasNext()) {
            break;
          }
          localObject = (zc)localIterator.next();
        } while (localObject == this.k);
        this.c.b(((zc)localObject).b, ((zc)localObject).x.getWidth(), ((zc)localObject).x.getHeight());
        this.c.c(((zc)localObject).b, ((zc)localObject).x.getX(), ((zc)localObject).x.getY());
      } while (bool2);
    } while (!bool1);
  }
  
  void f(ac paramac)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    if ((bool2) || ((!o()) || (!a()))) {
      return;
    }
    bb localbb = new bb();
    a(this.k, new g_()
    {
      private final List val$topLevel;
      
      public void a(e paramAnonymouse1, e paramAnonymouse2)
      {
        if (paramAnonymouse2 == null)
        {
          if (d.R) {
            break label28;
          }
          this.val$topLevel.add(paramAnonymouse1);
          if (!d.Q) {
            return;
          }
        }
        label28:
        a(paramAnonymouse2, hb.this.l(paramAnonymouse2));
      }
    });
    HashSet localHashSet = new HashSet();
    Iterator localIterator = localbb.iterator();
    Object localObject;
    do
    {
      do
      {
        do
        {
          if (!localIterator.hasNext()) {
            break label152;
          }
          localObject = (e)localIterator.next();
          if (bool2) {
            break;
          }
        } while (localHashSet.contains(localObject));
        localHashSet.add(localObject);
      } while (!g((e)localObject));
      a((e)localObject, paramac);
    } while ((!bool2) && (!bool2) && (!bool1));
    label152:
    int i1 = paramac.a();
    do
    {
      do
      {
        do
        {
          if (i1-- <= 0) {
            break;
          }
          localObject = paramac.a(i1);
        } while (!((vb)localObject).c().isEmpty());
        paramac.b(i1);
      } while (bool2);
    } while (!bool1);
  }
  
  private void a(e parame, ac paramac)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    zc localzc = i(parame);
    if (localzc == null) {
      return;
    }
    e locale1 = l(parame);
    vc localvc = a(parame);
    int i1 = (bool2) || (localvc != null) ? localvc.j() : 0;
    localvc = b(parame);
    int i2 = (bool2) || (localvc != null) ? localvc.j() : 0;
    int i3 = localzc.f.e();
    int i4 = localzc.d.e();
    a.c.z[] arrayOfz = new a.c.z[i3 - i4 + 1];
    int i5 = 2147483647;
    int i6 = -2147483648;
    bb localbb1 = new bb();
    HashSet localHashSet1 = new HashSet();
    bb localbb2 = new bb();
    HashSet localHashSet2 = new HashSet();
    int i7 = i4;
    int i8 = i3 + 1;
    if (i7 < i8) {
      arrayOfz[(i7 - i4)] = new a.c.z();
    }
    Object localObject1;
    int i11;
    label363:
    Object localObject3;
    label489:
    label491:
    while (bool2)
    {
      vb localvb1 = paramac.a(i7);
      if (bool1) {
        break label1759;
      }
      a.c.w localw2 = localvb1.c().l();
      do
      {
        do
        {
          if (!localw2.e()) {
            break label692;
          }
          localObject1 = localw2.d();
          localvc = this.d.a((e)localObject1).n();
          if (bool1) {
            break;
          }
          if (b((e)localObject1, parame))
          {
            arrayOfz[(i7 - i4)].add(localObject1);
            if (bool2) {
              continue;
            }
            if (!bool1) {}
          }
          else if ((bool2) || (localvc != null))
          {
            i11 = localvc.j();
            int i13 = 0;
            if (!bool2)
            {
              if (i1 < i11)
              {
                if (bool2) {
                  break label363;
                }
                if (i2 > i11)
                {
                  i13 = 1;
                  if (bool2) {
                    break label491;
                  }
                  if (!bool1) {
                    break label489;
                  }
                }
              }
              if (bool2) {
                break label491;
              }
            }
            Object localObject4;
            if (i1 != i2)
            {
              localObject3 = l((e)localObject1);
              if (localObject3 != null)
              {
                if (!bool2)
                {
                  if (i1 == i11)
                  {
                    localObject4 = b((e)localObject3);
                    if ((bool2) || (localObject4 != null)) {
                      if (bool2) {}
                    }
                    i13 |= (((vc)localObject4).j() > i1 ? 1 : 0);
                  }
                  if (bool2) {
                    break label491;
                  }
                }
                if (i2 == i11)
                {
                  localObject4 = a((e)localObject3);
                  if ((bool2) || (localObject4 != null)) {
                    if (bool2) {}
                  }
                  i13 |= (((vc)localObject4).j() < i2 ? 1 : 0);
                }
              }
            }
            if (bool2) {
              continue;
            }
            if (i13 != 0)
            {
              if (bool2) {
                continue;
              }
              if (!localHashSet1.contains(localObject1))
              {
                localbb1.add(localObject1);
                localHashSet1.add(localObject1);
                localObject3 = l((e)localObject1);
                if (bool2) {
                  continue;
                }
                if ((localObject3 != null) && (localObject3 != locale1))
                {
                  if (bool2) {
                    continue;
                  }
                  if (!localHashSet2.contains(localObject3))
                  {
                    localbb2.add(localObject3);
                    localHashSet2.add(localObject3);
                    localObject4 = i((e)localObject3);
                    if (bool2) {
                      continue;
                    }
                    if (localObject4 != null)
                    {
                      if (!bool2)
                      {
                        if (i5 > ((zc)localObject4).d.e()) {
                          i5 = ((zc)localObject4).d.e();
                        }
                        if (bool2) {
                          continue;
                        }
                      }
                      if (i6 < ((zc)localObject4).f.e()) {
                        i6 = ((zc)localObject4).f.e();
                      }
                    }
                  }
                }
              }
            }
          }
          localw2.f();
        } while (!bool1);
        i7++;
      } while (bool2);
      if (!bool1) {
        break;
      }
    }
    label692:
    if (!bool2) {
      if (!localbb1.isEmpty())
      {
        i7 = 0;
        i8 = 0;
        int i9 = -2147483648;
        int i10 = 2147483647;
        localObject1 = new HashSet();
        i11 = 0;
        do
        {
          if (i11 >= arrayOfz.length) {
            break;
          }
          ((Set)localObject1).addAll(arrayOfz[i11]);
          i11++;
          if (bool2) {
            break label964;
          }
          if (bool1) {
            break label962;
          }
        } while (!bool1);
        if (bool2) {
          break label1756;
        }
        Iterator localIterator1 = localbb1.iterator();
        do
        {
          do
          {
            do
            {
              do
              {
                do
                {
                  if (!localIterator1.hasNext()) {
                    break;
                  }
                  localObject2 = (e)localIterator1.next();
                  localObject3 = l((e)localObject2);
                } while (((bool2) || (localObject3 != null)) && (localObject3 != locale1));
                i14 = this.d.a((e)localObject2).h();
                if (bool2) {
                  break label919;
                }
                if (!a((Set)localObject1, (e)localObject2)) {
                  break label914;
                }
                i7 = 1;
                if (bool2) {
                  break;
                }
              } while (i9 >= i14);
              i9 = i14;
              if (bool2) {
                break label919;
              }
            } while (!bool1);
            i8 = 1;
          } while (i10 <= i14);
          i10 = i14;
          if (bool2) {
            break label960;
          }
          if ((!bool2) && (bool1)) {
            break label1751;
          }
        } while ((!bool2) && (!bool1));
        label960:
        int i12 = i6 - i5 + 1;
        label962:
        label964:
        Object localObject2 = new a.c.z[i12];
        localObject3 = new a.c.z[i12];
        int i14 = 0;
        do
        {
          if (i14 >= i12) {
            break;
          }
          localObject2[i14] = new a.c.z();
          localObject3[i14] = new a.c.z();
          i14++;
          if (bool2) {
            break label1241;
          }
          if (bool1) {
            break label1239;
          }
        } while (!bool1);
        if (bool2) {
          break label1756;
        }
        Iterator localIterator2 = localbb2.iterator();
        label1139:
        do
        {
          e locale2;
          do
          {
            do
            {
              if (!localIterator2.hasNext()) {
                break;
              }
              locale2 = (e)localIterator2.next();
              if (bool1) {
                break label1149;
              }
            } while (a(locale2, localHashSet2));
            if (bool2) {
              break label1139;
            }
            if (!a(j(locale2), i4, i3)) {
              break;
            }
            a(locale2, paramac, (a.c.z[])localObject2, i5);
            if (bool2) {
              break label1139;
            }
          } while (!bool1);
          a(locale2, paramac, (a.c.z[])localObject3, i5);
        } while (!bool1);
        label1149:
        int i16;
        if ((!bool2) && (i7 != 0))
        {
          if (bool2) {
            break label1201;
          }
          if (i8 != 0)
          {
            i16 = i9 + i10;
            if (!bool2) {}
            i15 = i16 % 2 == 0 ? i16 / 2 : i16 / 2 + 1;
            break label1239;
          }
        }
        if (!bool2) {
          if (i7 != 0)
          {
            i15 = i9 + 1;
            break label1239;
          }
        }
        if (!bool2) {
          if (i8 != 0)
          {
            i15 = i10;
            break label1239;
          }
        }
        int i15 = i4;
        label1239:
        label1241:
        if (!bool2) {
          if (i7 == 0)
          {
            if (bool2) {
              break label1532;
            }
            if (i8 == 0) {
              break label1528;
            }
          }
        }
        int i17 = 0;
        vb localvb2;
        a.c.y localy;
        label1369:
        label1371:
        do
        {
          if (i17 >= arrayOfz.length) {
            break;
          }
          if (bool1) {
            break label1380;
          }
          if (!arrayOfz[i17].isEmpty())
          {
            localvb2 = paramac.a(i4 + i17);
            localy = arrayOfz[i17].h();
            do
            {
              if (!localy.e()) {
                break;
              }
              localvb2.b((e)localy.j());
              localy.f();
              if (bool2) {
                break label1371;
              }
              if (bool1) {
                break label1369;
              }
            } while (!bool1);
          }
          if (!bool2) {
            i17++;
          }
        } while (!bool1);
        if (!bool2)
        {
          label1380:
          i16 = 0;
          i17 = 0;
          label1501:
          label1503:
          do
          {
            do
            {
              if (i17 >= arrayOfz.length) {
                break;
              }
              if (bool2) {
                break label1520;
              }
              if (bool1) {
                break label1516;
              }
              if (!arrayOfz[i17].isEmpty())
              {
                localvb2 = paramac.a((byte)0, i15 + i16);
                localy = arrayOfz[i17].h();
                if (localy.e())
                {
                  localvb2.a((e)localy.j());
                  localy.f();
                }
                while (bool2)
                {
                  if (bool2) {
                    break label1503;
                  }
                  if (bool1) {
                    break label1501;
                  }
                  if (!bool1) {
                    break;
                  }
                }
                i16++;
              }
              i17++;
            } while (!bool1);
          } while (bool2);
          label1516:
          i16 += i15;
          label1520:
          if (!bool2) {
            if (bool1) {
              label1528:
              label1532:
              i16 = i3 + 1;
            }
          }
          i17 = 0;
          do
          {
            do
            {
              if (i17 >= i12) {
                break;
              }
              localvb2 = paramac.a((byte)0, i16 + i17);
              if (bool1) {
                break label1677;
              }
              localy = localObject3[i17].h();
              if (localy.e())
              {
                localvb2.a((e)localy.j());
                localy.f();
              }
              for (;;)
              {
                if (!bool2) {
                  if (!bool1)
                  {
                    if (!bool1) {
                      break;
                    }
                    if (bool2) {
                      continue;
                    }
                    i17++;
                  }
                }
              }
            } while (!bool1);
          } while (bool2);
          i17 = 0;
          do
          {
            if (i17 >= i12) {
              break;
            }
            localvb2 = paramac.a((byte)0, i15 + i17);
            if (bool1) {
              break label1751;
            }
            localy = localObject2[i17].h();
            if (localy.e())
            {
              localvb2.a((e)localy.j());
              localy.f();
            }
            for (;;)
            {
              if (!bool2) {
                if (!bool1)
                {
                  if (!bool1) {
                    break;
                  }
                  if (bool2) {
                    continue;
                  }
                  i17++;
                }
              }
            }
          } while (!bool1);
          if (bool2) {
            break label1752;
          }
          a(paramac);
        }
      }
    }
    label914:
    label919:
    label1201:
    label1751:
    label1752:
    label1756:
    label1759:
    a.c.w localw1 = k(parame).l();
    label1677:
    do
    {
      while (!bool1)
      {
        if (!localw1.e()) {
          break;
        }
        if (!bool2)
        {
          if (g(localw1.d())) {
            a(localw1.d(), paramac);
          }
          localw1.f();
        }
      }
    } while (bool2);
  }
  
  private boolean a(Set paramSet, e parame)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    int i1 = 0;
    int i2 = 0;
    int i3 = this.d.a(parame).h();
    m localm = parame.m();
    e locale;
    int i4;
    do
    {
      do
      {
        if (!localm.e()) {
          break;
        }
        locale = localm.a().e();
        if (bool1) {
          break label142;
        }
        if (paramSet.contains(locale))
        {
          i4 = this.d.a(locale).h();
          if (bool2) {
            continue;
          }
          if (i4 <= i3) {
            i1++;
          }
        }
        localm.f();
      } while (!bool1);
    } while (bool2);
    localm = parame.n();
    label142:
    do
    {
      if (!localm.e()) {
        break;
      }
      locale = localm.a().f();
      if (bool2) {
        break label234;
      }
      if (bool1) {
        break label232;
      }
      if (paramSet.contains(locale))
      {
        i4 = this.d.a(locale).h();
        if (bool2) {
          continue;
        }
        if (i4 >= i3) {
          i2++;
        }
      }
      localm.f();
    } while (!bool1);
    label232:
    label234:
    return (!bool2) && (i1 <= i2);
  }
  
  private boolean a(bb parambb, int paramInt1, int paramInt2)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    int i1 = 0;
    int i2 = 0;
    HashSet localHashSet = new HashSet(parambb);
    a.c.w localw = parambb.l();
    label39:
    if (localw.e()) {}
    label204:
    while (bool2)
    {
      int i3 = this.d.a(localw.d()).h();
      if (bool1) {
        break label333;
      }
      m localm = localw.d().m();
      e locale;
      int i4;
      do
      {
        do
        {
          if (!localm.e()) {
            break;
          }
          locale = localm.a().e();
          if (bool1) {
            break label204;
          }
          if (!localHashSet.contains(locale))
          {
            i4 = this.d.a(locale).h();
            if (bool2) {
              continue;
            }
            if (i4 >= paramInt1)
            {
              if (bool2) {
                continue;
              }
              if (i4 <= i3) {
                i1++;
              }
            }
          }
          localm.f();
        } while (!bool1);
      } while (bool2);
      localm = localw.d().n();
      do
      {
        if (!localm.e()) {
          break label295;
        }
        locale = localm.a().f();
        if (bool1) {
          break;
        }
        if (!localHashSet.contains(locale))
        {
          i4 = this.d.a(locale).h();
          if (bool2) {
            continue;
          }
          if (i4 <= paramInt2)
          {
            if (bool2) {
              continue;
            }
            if (i4 >= i3) {
              i2++;
            }
          }
        }
        localm.f();
      } while (!bool1);
      localw.f();
      if (bool2) {
        break label39;
      }
      if (!bool1) {
        break;
      }
    }
    label295:
    if (!bool2) {}
    label333:
    return i1 <= i2;
  }
  
  e a(e parame1, e parame2)
  {
    return this.k.a(parame1, parame2);
  }
  
  private void a(e parame, ac paramac, a.c.z[] paramArrayOfz, int paramInt)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    a.c.w localw = k(parame).l();
    label119:
    do
    {
      if (!localw.e()) {
        break;
      }
      e locale = localw.d();
      if (!bool2) {
        if (g(locale))
        {
          a(locale, paramac, paramArrayOfz, paramInt);
          if (bool2) {
            continue;
          }
          if (!bool1) {
            break label119;
          }
        }
      }
      int i1 = this.d.a(locale).h();
      paramac.a(i1).b(locale);
      paramArrayOfz[(i1 - paramInt)].add(locale);
      localw.f();
    } while (!bool1);
  }
  
  private boolean a(e parame, Set paramSet)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    do
    {
      for (e locale = l(parame); !bool1; locale = l(locale))
      {
        if (locale == null) {
          break;
        }
        if (bool1) {
          break label54;
        }
        if (paramSet.contains(locale)) {
          return true;
        }
      }
    } while (bool2);
    label54:
    return false;
  }
  
  vc a(e parame)
  {
    if (!d.R)
    {
      if (a()) {
        c(parame);
      }
    }
    else {
      return ((vc[])this.p.get(parame))[0];
    }
    return null;
  }
  
  vc b(e parame)
  {
    if (!d.R)
    {
      if (a()) {
        c(parame);
      }
    }
    else {
      return ((vc[])this.p.get(parame))[1];
    }
    return null;
  }
  
  private void c(e parame)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    if (!bool2) {
      if (this.p.containsKey(parame)) {
        return;
      }
    }
    vc[] arrayOfvc = { null, null };
    a.c.w localw = k(parame).l();
    if (localw.e())
    {
      if (bool1) {
        break label405;
      }
      if ((bool2) || (g(localw.d()))) {
        c(localw.d());
      }
    }
    label164:
    label168:
    label343:
    label351:
    label378:
    while (bool2)
    {
      Object localObject1 = (vc[])this.p.get(localw.d());
      if (!bool2) {
        if (localObject1[0] != null)
        {
          if (!bool2) {
            if (arrayOfvc[0] != null)
            {
              if (bool2) {
                break label168;
              }
              if (arrayOfvc[0].j() <= localObject1[0].j()) {
                break label164;
              }
            }
          }
          arrayOfvc[0] = localObject1[0];
        }
      }
      if (!bool2)
      {
        if (localObject1[1] == null) {
          break label378;
        }
        if (bool2) {}
      }
      else if (arrayOfvc[1] != null)
      {
        if (bool2) {
          break label386;
        }
        if (arrayOfvc[1].j() >= localObject1[1].j()) {
          break label378;
        }
      }
      arrayOfvc[1] = localObject1[1];
      if (!bool2)
      {
        if (bool1)
        {
          localObject1 = this.d.a(localw.d());
          vc localvc = ((ec)localObject1).n();
          if (!bool2) {
            if (localvc == null)
            {
              Object localObject2 = this.e.get(localw.d());
              if ((bool2) || ((localObject2 instanceof vc))) {
                localvc = (vc)localObject2;
              }
            }
          }
          if (!bool2)
          {
            if (localvc == null) {
              break label378;
            }
            if (bool2) {}
          }
          else if (arrayOfvc[0] != null)
          {
            if (bool2) {
              break label351;
            }
            if (arrayOfvc[0].j() <= localvc.j()) {
              break label343;
            }
          }
          arrayOfvc[0] = localvc;
          if (!bool2) {
            if (arrayOfvc[1] != null)
            {
              if (bool2) {
                break label386;
              }
              if (arrayOfvc[1].j() >= localvc.j()) {
                break label378;
              }
            }
          }
          arrayOfvc[1] = localvc;
        }
        localw.f();
      }
      if (!bool1) {
        break;
      }
    }
    label386:
    label405:
    this.p.put(parame, arrayOfvc);
  }
  
  void g(ac paramac)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    if (!bool2) {
      if (!o()) {
        return;
      }
    }
    float[] arrayOfFloat = new float[this.c.j()];
    a(0, paramac.a());
    if ((bool2) || (this.k.d != null))
    {
      if (bool2) {
        break label82;
      }
      if (this.k.f != null) {}
    }
    else
    {
      return;
    }
    label82:
    int i1 = this.k.d.e();
    int i2 = this.k.f.e();
    int i3 = i1;
    label248:
    label250:
    do
    {
      if (i3 > i2) {
        break;
      }
      bb localbb = paramac.a(i3).c();
      int i4 = 0;
      if (bool1) {
        return;
      }
      v localv = localbb.f();
      do
      {
        if (localv == null) {
          break;
        }
        e locale = (e)localv.c();
        arrayOfFloat[locale.f()] = i4;
        localv = localv.a();
        i4++;
        if (bool2) {
          break label250;
        }
        if (bool1) {
          break label248;
        }
      } while (!bool1);
      this.k.a(i3, arrayOfFloat, d(), this.d, true);
      this.k.a(i3, true, d());
      this.k.a(i3, localbb.f());
      if (!bool2) {
        i3++;
      }
    } while (!bool1);
    if (!bool2) {
      i();
    }
  }
  
  void a(k paramk)
  {
    this.r = paramk;
  }
  
  k d()
  {
    return this.r;
  }
  
  void a(int paramInt)
  {
    if (!d.R) {
      if (!o()) {
        return;
      }
    }
    this.k.a(paramInt);
  }
  
  void a(a.c.z[] paramArrayOfz, int[] paramArrayOfInt, boolean paramBoolean)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    if (!bool2) {
      if (!o()) {
        return;
      }
    }
    k localk = d();
    float[] arrayOfFloat = new float[this.c.j()];
    if (!bool2) {
      if (paramBoolean)
      {
        i1 = 0;
        do
        {
          if (i1 >= arrayOfFloat.length) {
            break;
          }
          arrayOfFloat[i1] = paramArrayOfInt[i1];
          i1++;
          if (bool2) {
            break label167;
          }
          if (bool1) {
            break label155;
          }
        } while (!bool1);
      }
    }
    int i1 = 0;
    do
    {
      do
      {
        if (i1 >= arrayOfFloat.length) {
          break;
        }
        arrayOfFloat[i1] = this.q.nextFloat();
        i1++;
        if (bool2) {
          break label167;
        }
        if (bool1) {
          break label155;
        }
      } while (!bool1);
      a(0, paramArrayOfz.length);
    } while (bool2);
    i1 = this.k.d.e();
    label155:
    label167:
    int i2 = this.k.f.e();
    int i3 = i1;
    do
    {
      if (i3 > i2) {
        break;
      }
      a.c.z localz = paramArrayOfz[i3];
      this.k.a(i3, arrayOfFloat, localk, this.d, true);
      this.k.a(i3, true, localk);
      this.k.a(i3, localz.f());
      a(localz, paramArrayOfInt);
      i3++;
      if ((!bool2) && (bool1)) {
        return;
      }
    } while (!bool1);
    if (!bool2) {
      i();
    }
  }
  
  void a(int paramInt1, int paramInt2)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    if (!bool2) {
      if (!o()) {
        return;
      }
    }
    ArrayList localArrayList = this.k.L;
    int i1 = localArrayList.size() - 1;
    do
    {
      if (i1 < 0) {
        break;
      }
      zc localzc = (zc)localArrayList.get(i1);
      if (!bool2)
      {
        if ((localzc.d != null) && ((bool2) || (localzc.f != null)))
        {
          if (bool2) {
            continue;
          }
          if (localzc.d.e() >= paramInt1)
          {
            if (bool2) {
              continue;
            }
            if (localzc.f.e() <= paramInt2) {
              localzc.r = -1;
            }
          }
        }
        i1--;
      }
    } while (!bool1);
  }
  
  private void a(a.c.z paramz, int[] paramArrayOfInt)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    if (!bool2) {
      if (!o()) {
        return;
      }
    }
    int i1 = 0;
    v localv = paramz.f();
    do
    {
      if (localv == null) {
        break;
      }
      e locale = (e)localv.c();
      paramArrayOfInt[locale.f()] = i1;
      localv = localv.a();
      i1++;
    } while (!bool1);
  }
  
  void a(a.c.z paramz, int paramInt, float[] paramArrayOfFloat, int[] paramArrayOfInt, boolean paramBoolean)
  {
    if (!d.R) {
      if (!o()) {
        return;
      }
    }
    k localk = d();
    this.k.a(paramInt, paramArrayOfFloat, localk, this.d, paramBoolean);
    this.k.a(paramInt, paramBoolean, localk);
    this.k.a(paramInt, paramz.f());
    a(paramz, paramArrayOfInt);
  }
  
  void f()
  {
    if (!d.R) {
      if (!o()) {
        return;
      }
    }
    this.k.b();
  }
  
  void g()
  {
    this.k = null;
    if ((d.R) || (this.h != null)) {
      this.c.a(i.c, this.h);
    }
  }
  
  void h()
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    if (!bool2) {
      if (!o()) {
        return;
      }
    }
    a.c.w localw = this.c.v();
    label172:
    label174:
    do
    {
      do
      {
        if (!localw.e()) {
          return;
        }
        e locale = localw.d();
        ec localec = this.d.a(locale);
        int i1 = localec.d();
        if ((bool2) || ((i1 == 12) || ((bool2) || (i1 == 13)))) {
          do
          {
            if (locale.d() > 0) {}
            while (bool2)
            {
              this.c.a(locale.i());
              if (bool2) {
                break label174;
              }
              if (bool1) {
                break label172;
              }
              if (!bool1) {
                break;
              }
            }
            if (locale.e() <= 0) {
              break;
            }
            this.c.a(locale.h());
            if (bool2) {
              break label174;
            }
            if (bool1) {
              break label172;
            }
          } while (!bool1);
        }
      } while (bool2);
      localw.f();
    } while (!bool1);
  }
  
  void a(ac paramac, rb paramrb)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    if (!o()) {
      return;
    }
    HashMap localHashMap1 = new HashMap();
    HashMap localHashMap2 = new HashMap();
    int i1 = 0;
    label193:
    do
    {
      if (i1 >= paramac.a()) {
        break;
      }
      vb localvb = paramac.a(i1);
      bb localbb = localvb.c();
      v localv = localbb.f();
      do
      {
        if (localv == null) {
          break label290;
        }
        e locale1 = (e)localv.c();
        ec localec = this.d.a(locale1);
        int i2 = localec.d();
        if (bool1) {
          break;
        }
        e locale2;
        e locale3;
        if (localec.d() == 12)
        {
          locale2 = localec.f();
          locale3 = (e)localHashMap1.get(locale2);
          if (!bool2) {
            if (locale3 != null)
            {
              if (bool2) {
                break label193;
              }
              if (locale3.a(locale1) == null) {
                paramrb.a(locale3, locale1);
              }
            }
          }
          localHashMap1.put(locale2, locale1);
        }
        if (!bool2)
        {
          if (localec.d() == 13)
          {
            locale2 = localec.f();
            locale3 = (e)localHashMap2.get(locale2);
            if (!bool2) {
              if (locale3 != null)
              {
                if (bool2) {
                  break label277;
                }
                if (locale3.a(locale1) == null) {
                  paramrb.a(locale3, locale1);
                }
              }
            }
            localHashMap2.put(locale2, locale1);
          }
          localv = localv.a();
        }
      } while (!bool1);
      i1++;
    } while ((!bool2) && (!bool1));
    label277:
    label290:
    return;
  }
  
  void b(ac paramac, rb paramrb)
  {
    if (!d.R)
    {
      if (!o()) {
        return;
      }
      i();
    }
    this.k.a(paramac, paramrb);
  }
  
  void i()
  {
    boolean bool = d.Q;
    this.k.a();
    Iterator localIterator = this.k.L.iterator();
    do
    {
      if (!localIterator.hasNext()) {
        break;
      }
      zc localzc = (zc)localIterator.next();
      localzc.a();
    } while (!bool);
  }
  
  void h(ac paramac)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    if (!bool2) {
      if (!o()) {
        return;
      }
    }
    int i1 = 0;
    Object localObject;
    label140:
    do
    {
      if (i1 >= paramac.a()) {
        break;
      }
      localObject = paramac.a(i1);
      bb localbb = ((vb)localObject).c();
      do
      {
        if (bool1) {
          break label177;
        }
        v localv = localbb.f();
        do
        {
          if (localv == null) {
            break label140;
          }
          e locale = (e)localv.c();
          int i3 = this.d.a(locale).d();
          if (bool1) {
            break;
          }
          if (i3 != 12)
          {
            if (bool2) {
              continue;
            }
            if (i3 != 13) {}
          }
          else
          {
            localbb.h(localv);
          }
          localv = localv.a();
        } while (!bool1);
        ((vb)localObject).a(localbb);
        i1++;
      } while (bool2);
    } while (!bool1);
    if (!bool2) {
      this.k.a(this.d);
    }
    label177:
    a.c.w localw = this.c.v();
    label250:
    do
    {
      if (!localw.e()) {
        break;
      }
      localObject = localw.d();
      int i2 = this.d.a((e)localObject).d();
      if (!bool2)
      {
        if (i2 != 12) {
          if (bool2) {
            continue;
          }
        }
      }
      else {
        if (i2 != 13) {
          break label250;
        }
      }
      this.c.a((e)localObject);
      localw.f();
    } while (!bool1);
  }
  
  void a(bb parambb)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    a.c.w localw = parambb.l();
    if (localw.e()) {}
    while (bool2)
    {
      System.out.print(d(localw.d()) + ' ');
      localw.f();
      if ((!bool2) && (bool1)) {
        return;
      }
      if (!bool1) {
        break;
      }
    }
    System.out.println();
  }
  
  String d(e parame)
  {
    boolean bool = d.R;
    k localk = this.c.c(i.a);
    if (!bool) {
      if (parame == null) {
        return "<null>";
      }
    }
    if ((bool) || (localk.get(parame) != null)) {
      return localk.get(parame).toString();
    }
    return parame.toString();
  }
  
  String a(ac paramac, String paramString)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    c();
    StringBuffer localStringBuffer = new StringBuffer();
    localStringBuffer.append(paramString + "\n");
    int i1 = 0;
    if (i1 < paramac.a())
    {
      localStringBuffer.append(a(paramac.a(i1)));
      if (!bool2)
      {
        localStringBuffer.append('\n');
        i1++;
      }
    }
    else
    {
      for (;;)
      {
        if (!bool1)
        {
          if (!bool1) {
            break;
          }
          if (!bool2) {
            b();
          }
        }
      }
    }
    return localStringBuffer.toString();
  }
  
  String a(a.c.z[] paramArrayOfz, String paramString)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    c();
    StringBuffer localStringBuffer = new StringBuffer();
    localStringBuffer.append(paramString + "\n");
    int i1 = 0;
    if (i1 < paramArrayOfz.length)
    {
      localStringBuffer.append(a(paramArrayOfz[i1]));
      if (!bool2)
      {
        localStringBuffer.append('\n');
        i1++;
      }
    }
    else
    {
      for (;;)
      {
        if (!bool1)
        {
          if (!bool1) {
            break;
          }
          if (!bool2) {
            b();
          }
        }
      }
    }
    return localStringBuffer.toString();
  }
  
  String a(a.c.z paramz)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    StringBuffer localStringBuffer = new StringBuffer();
    a.c.y localy = paramz.h();
    do
    {
      if (!localy.e()) {
        break;
      }
      e locale = (e)localy.j();
      ec localec = this.d.a(locale);
      if (!bool2)
      {
        if (bool1) {
          break label109;
        }
        localStringBuffer.append(a(locale, localec) + "  ");
        localy.f();
      }
    } while (!bool1);
    label109:
    return localStringBuffer.toString();
  }
  
  String a(vb paramvb)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    StringBuffer localStringBuffer = new StringBuffer();
    localStringBuffer.append("TYPE=" + paramvb.d() + ": ");
    a.c.w localw = paramvb.c().l();
    do
    {
      if (!localw.e()) {
        break;
      }
      e locale = localw.d();
      ec localec = this.d.a(locale);
      if (!bool2)
      {
        if (bool1) {
          break label145;
        }
        localStringBuffer.append(a(locale, localec) + "  ");
        localw.f();
      }
    } while (!bool1);
    label145:
    return localStringBuffer.toString();
  }
  
  String a(e parame, ec paramec)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    k localk = this.c.c(i.a);
    if (localk == null) {
      return "";
    }
    String str = "?(" + parame.toString() + ")";
    zc localzc = this.k.b(parame);
    Object localObject = "?";
    if (!bool2)
    {
      if ((localzc != null) && ((bool2) || (localzc.b != null))) {
        localObject = localk.get(localzc.b);
      }
      if (!bool2) {
        str = str + "[" + localObject + "]";
      }
    }
    else
    {
      d.mb_ localmb_;
      switch (paramec.d())
      {
      case 0: 
        if (!bool2)
        {
          str = "N(" + localk.get(parame) + ")[" + localObject + "]";
          if (!bool1) {
            break;
          }
        }
        break;
      case 12: 
        localmb_ = (d.mb_)paramec;
        if (!bool2)
        {
          str = "BEGIN(" + localk.get(localmb_.f()) + ")";
          if (!bool1) {
            break;
          }
        }
        break;
      case 13: 
        localmb_ = (d.mb_)paramec;
        str = "END(" + localk.get(localmb_.f()) + ")";
      }
    }
    return str;
  }
  
  String e(e parame)
  {
    k localk = this.c.c(i.a);
    return "" + localk.get(parame);
  }
  
  u f(e parame)
  {
    boolean bool = d.R;
    if (!o()) {
      return null;
    }
    u localu = null;
    k localk = this.c.c(i.d);
    if ((bool) || (localk != null)) {
      localu = u.a(localk.get(parame));
    }
    if (!bool) {
      if (localu == null) {
        localu = new u(0.0D, 0.0D, 0.0D, 0.0D);
      }
    }
    return localu;
  }
  
  void a(kb paramkb, vb paramvb, boolean paramBoolean, double paramDouble)
  {
    if (!d.R) {
      if (!o()) {
        return;
      }
    }
    this.k.a(paramkb, paramvb, paramBoolean, paramDouble);
  }
  
  void c(kb paramkb, vb paramvb, boolean paramBoolean, double paramDouble)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    if (!o()) {
      return;
    }
    f localf = paramkb.f();
    v localv = paramvb.c().f();
    label313:
    do
    {
      if (localv == null) {
        break;
      }
      e locale = (e)localv.c();
      ec localec = this.d.a(locale);
      if (!bool2)
      {
        if (localec.d() == 12)
        {
          zc localzc = i(localec.a());
          if (bool2) {
            continue;
          }
          if (paramkb.b(localzc))
          {
            double d1 = paramkb.d(localzc);
            u localu = f(localzc.b);
            double d2;
            kb.g_ localg_;
            if (!bool2) {
              if ((paramBoolean) && (localzc.B == paramvb))
              {
                d2 = d1;
                localzc.y = (this.c.q(locale) + paramDouble - d2);
                localzc.H = d2;
                if (bool2) {
                  continue;
                }
                if (localf == null) {
                  break label313;
                }
                localg_ = paramkb.a(localzc);
                localf.b(localg_.f, localg_.g, d2 + localu.b);
                if (bool2) {
                  continue;
                }
                if (!bool1) {
                  break label313;
                }
              }
            }
            if (bool2) {
              continue;
            }
            if ((!paramBoolean) && (localzc.C == paramvb))
            {
              d2 = d1;
              localzc.I = (d2 + paramDouble);
              localzc.z = (d2 - paramDouble - this.c.q(locale));
              if (bool2) {
                continue;
              }
              if (localf != null)
              {
                localg_ = paramkb.a(localzc);
                localf.b(localg_.f, localg_.g, d2);
              }
            }
          }
        }
        localv = localv.a();
      }
    } while (!bool1);
  }
  
  public double j()
  {
    return this.l;
  }
  
  public void a(double paramDouble)
  {
    this.l = paramDouble;
  }
  
  void i(ac paramac)
  {
    if ((d.R) || (o())) {
      this.k.a(paramac, this.d);
    }
  }
  
  void k(ac paramac)
  {
    if ((d.R) || (o())) {
      this.k.b(paramac, this.d);
    }
  }
  
  void c(ac paramac, x paramx)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    if (!bool2) {
      if (!o()) {
        return;
      }
    }
    a.c.w localw = this.c.v();
    e locale;
    ec localec;
    do
    {
      do
      {
        if (!localw.e()) {
          break;
        }
        locale = localw.d();
        localec = this.d.a(locale);
        if (bool1) {
          break label178;
        }
        if (localec.d() != 12)
        {
          if (bool2) {
            continue;
          }
          if (localec.d() != 13) {}
        }
        else
        {
          paramx.a(locale, true);
        }
        localw.f();
      } while (!bool1);
      a(paramac, paramx);
      c(paramac);
    } while (bool2);
    localw = this.c.v();
    label178:
    do
    {
      if (!localw.e()) {
        break;
      }
      locale = localw.d();
      localec = this.d.a(locale);
      if (localec.d() != 12)
      {
        if (bool2) {
          continue;
        }
        if (localec.d() != 13) {}
      }
      else
      {
        zc localzc = i(localec.a());
        if (bool2) {
          continue;
        }
        if ((localzc.d != null) && ((bool2) || (localzc.f != null)))
        {
          if (bool2) {
            continue;
          }
          if (localzc.d.e() <= localec.h())
          {
            if (bool2) {
              continue;
            }
            if (localzc.f.e() >= localec.h()) {
              paramx.a(locale, false);
            }
          }
        }
      }
      localw.f();
    } while (!bool1);
  }
  
  public void l(ac paramac)
  {
    if (!d.R) {
      if (!o()) {
        return;
      }
    }
    this.k.a(paramac);
  }
  
  public void m(ac paramac)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    if (!bool2) {
      if (!o()) {
        return;
      }
    }
    a.c.w localw = this.c.v();
    label130:
    do
    {
      if (!localw.e()) {
        break;
      }
      e locale = localw.d();
      ec localec = this.d.a(locale);
      if (!bool2)
      {
        if (bool1) {
          return;
        }
        if (bool2) {}
      }
      else if (localec.d() != 6)
      {
        if (bool2) {
          continue;
        }
        if (localec.d() != 7) {
          break label130;
        }
      }
      d.q_ localq_ = (d.q_)localec;
      localq_.a(null);
      this.k.a(locale, this.k);
      localw.f();
    } while (!bool1);
    a(paramac);
    if (!bool2) {
      c(paramac);
    }
  }
  
  public boolean g(e parame)
  {
    if (!d.R) {
      if (!o()) {
        return false;
      }
    }
    return this.k.K.get(parame) != null;
  }
  
  void c(ac paramac, rb paramrb)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    if (!bool2) {
      if (!o()) {
        return;
      }
    }
    c();
    HashMap localHashMap = new HashMap();
    bb localbb = new bb();
    Object localObject1 = this.c.w();
    Object localObject2;
    Object localObject3;
    Object localObject4;
    Object localObject5;
    label347:
    label1004:
    label1020:
    do
    {
      if (!((m)localObject1).e()) {
        break;
      }
      a.c.d locald = ((m)localObject1).a();
      y localy = this.d.a(locald);
      localObject2 = locald.e();
      localObject3 = locald.f();
      if (bool1) {
        break label2142;
      }
      Object localObject6;
      Object localObject7;
      zc localzc1;
      vb localvb1;
      vb localvb2;
      ec localec;
      vb localvb3;
      vb localvb4;
      zc localzc2;
      int i3;
      int i4;
      if (!bool2) {
        if (g((e)localObject2))
        {
          localObject4 = null;
          localObject5 = null;
          if (localy.h() != null)
          {
            localObject5 = new e_(localObject2, localy.h());
            if ((bool2) || (localObject5 != null)) {
              localObject4 = (e)localHashMap.get(localObject5);
            }
          }
          if ((bool2) || (localObject4 == null))
          {
            localObject6 = localObject2;
            localObject7 = localObject3;
            localzc1 = i((e)localObject6);
            localvb1 = localzc1.d;
            localvb2 = localzc1.f;
            localec = this.d.a(localObject7);
            if (localec != null)
            {
              if ((bool2) || (localy.d() != null)) {
                if (bool2) {}
              }
              localvb3 = !localy.d().g() ? localy.d() : null;
              if (!bool2) {
                if (localvb3 != null) {
                  paramrb.a(locald, true, cd.a(localvb3.b()));
                }
              }
              if (!bool2) {
                if (localvb3 != null)
                {
                  if (bool2) {
                    break label347;
                  }
                  if (localvb3.c())
                  {
                    localvb4 = localvb1;
                    if (bool2) {
                      break label1020;
                    }
                    if (!bool1) {
                      break label1004;
                    }
                  }
                }
              }
              if ((bool2) || (localvb3 != null))
              {
                if (bool2) {
                  break label393;
                }
                if (localvb3.d())
                {
                  localvb4 = localvb2;
                  if (bool2) {
                    break label1020;
                  }
                  if (!bool1) {
                    break label1004;
                  }
                }
              }
              if (!bool2) {
                if (!g(localObject7))
                {
                  if (!bool2) {
                    if (localvb1.e() > localec.h())
                    {
                      localvb4 = localvb1;
                      if (bool2) {
                        break label1020;
                      }
                      if (!bool1) {
                        break label1004;
                      }
                    }
                  }
                  if ((bool2) || (localvb2.e() < localec.h()))
                  {
                    localvb4 = localvb2;
                    if (bool2) {
                      break label1020;
                    }
                    if (!bool1) {
                      break label1004;
                    }
                  }
                  if ((localvb3 == null) && (b(localObject7, (e)localObject6)))
                  {
                    localvb4 = localvb2;
                    paramrb.a(locald, true, cd.a((byte)2));
                    if ((bool2) || (localy.f() != null)) {
                      if (bool2) {}
                    }
                    localzc2 = !localy.f().g() ? localy.f() : null;
                    if (bool2) {
                      break label1020;
                    }
                    if (localzc2 != null) {
                      break label1004;
                    }
                    paramrb.a(locald, false, cd.a((byte)1));
                    if (bool2) {
                      break label1020;
                    }
                    if (!bool1) {
                      break label1004;
                    }
                  }
                  localvb4 = paramac.a(localec.h());
                  if (bool2) {
                    break label1020;
                  }
                  if (!bool1) {
                    break label1004;
                  }
                }
              }
              localzc2 = i(localObject7);
              if ((bool2) || ((b(localObject7, (e)localObject6)) || (b((e)localObject6, localzc2.b))))
              {
                localvb4 = localvb2;
                if (bool2) {
                  break label1020;
                }
                if (localvb3 == null)
                {
                  paramrb.a(locald, true, cd.a((byte)2));
                  if (bool2) {
                    break label1020;
                  }
                  if (!bool1) {}
                }
              }
              else if (localObject6 == localzc2.b)
              {
                if ((bool2) || (localy.f() != null)) {
                  if (bool2) {}
                }
                Object localObject8 = !localy.f().g() ? localy.f() : null;
                if (((bool2) || (localvb3 != null)) && ((bool2) || (localObject8 != null)) && ((bool2) || (localObject8.d())) && ((bool2) || ((localvb3.e()) || (localvb3.f()))))
                {
                  if (bool2) {
                    break label809;
                  }
                  localvb4 = localvb2;
                  if (!bool1) {
                    break label811;
                  }
                }
                localvb4 = localvb1;
                if (localvb3 == null)
                {
                  paramrb.a(locald, true, cd.a((byte)2));
                  if (bool2) {
                    break label1020;
                  }
                  if (!bool1) {}
                }
              }
              else
              {
                if (!bool2) {
                  if (localvb1.e() > localzc2.f.e())
                  {
                    localvb4 = localvb1;
                    if (bool2) {
                      break label1020;
                    }
                    if (!bool1) {
                      break label1004;
                    }
                  }
                }
                if (!bool2) {
                  if (localvb2.e() < localzc2.d.e())
                  {
                    localvb4 = localvb2;
                    if (bool2) {
                      break label1020;
                    }
                    if (!bool1) {
                      break label1004;
                    }
                  }
                }
                int i1 = Math.max(localvb1.e(), localzc2.d.e());
                i3 = Math.min(localvb2.e(), localzc2.f.e());
                if (!bool2) {
                  if (i3 < i1) {
                    throw new IllegalStateException("huh?");
                  }
                }
                i4 = (i1 + i3) / 2;
                localvb4 = paramac.a(i4);
              }
              localObject4 = paramrb.a((e)localObject6, localzc1, localvb4, locald);
              if (!bool2)
              {
                if (localObject5 != null) {
                  localHashMap.put(localObject5, localObject4);
                }
                localbb.add(localObject4);
                if (bool2) {
                  break label1100;
                }
                this.k.a(localObject4, localzc1);
              }
              if (!bool1) {}
            }
            else
            {
              throw new IllegalStateException("nodeData == null for node " + localObject7);
            }
          }
          localObject6 = this.c.r(locald);
          this.c.a(locald, (e)localObject4, locald.f());
          this.c.a((e)localObject4, (a.d.w)localObject6);
          this.c.a(locald, a.d.w.c);
        }
      }
      if (!bool2)
      {
        if (g((e)localObject3))
        {
          localObject4 = null;
          localObject5 = null;
          if (localy.i() != null)
          {
            localObject5 = new e_(localObject3, localy.i());
            if ((bool2) || (localObject5 != null)) {
              localObject4 = (e)localHashMap.get(localObject5);
            }
          }
          if ((bool2) || (localObject4 == null))
          {
            localObject6 = localObject3;
            localObject7 = localObject2;
            localzc1 = i((e)localObject6);
            localvb1 = localzc1.d;
            localvb2 = localzc1.f;
            localec = this.d.a(localObject7);
            if (localec != null)
            {
              localvb3 = null;
              if ((bool2) || (localy.f() != null)) {
                if (bool2) {}
              }
              localvb4 = !localy.f().g() ? localy.f() : null;
              if (!bool2) {
                if (localvb4 != null) {
                  paramrb.a(locald, false, cd.a(localvb4.b()));
                }
              }
              if (!bool2) {
                if (localvb4 != null)
                {
                  if (bool2) {
                    break label1388;
                  }
                  if (localvb4.c())
                  {
                    localvb3 = localvb1;
                    break label1975;
                  }
                }
              }
              if ((bool2) || (localvb4 != null))
              {
                if (bool2) {
                  break label1427;
                }
                if (localvb4.d())
                {
                  localvb3 = localvb2;
                  break label1975;
                }
              }
              if (!bool2) {
                if (!g(localObject7))
                {
                  if (!bool2) {
                    if (localvb1.e() > localec.h())
                    {
                      localvb3 = localvb1;
                      break label1975;
                    }
                  }
                  if ((bool2) || (localvb2.e() < localec.h()))
                  {
                    localvb3 = localvb2;
                    break label1975;
                  }
                  if ((localvb4 == null) && (b(localObject7, (e)localObject6)))
                  {
                    localvb3 = localvb1;
                    if ((bool2) || (localy.d() != null)) {
                      if (bool2) {}
                    }
                    localzc2 = !localy.d().g() ? localy.d() : null;
                    if (!bool2)
                    {
                      if (localzc2 == null) {
                        paramrb.a(locald, true, cd.a((byte)2));
                      }
                      paramrb.a(locald, false, cd.a((byte)1));
                    }
                    break label1975;
                  }
                  localvb3 = paramac.a(localec.h());
                  break label1975;
                }
              }
              localzc2 = i(localObject7);
              if ((bool2) || ((b(localObject7, (e)localObject6)) || (b((e)localObject6, localzc2.b))))
              {
                localvb3 = localvb1;
                if (bool2) {
                  break label1991;
                }
                if (localvb4 == null) {
                  paramrb.a(locald, false, cd.a((byte)1));
                }
              }
              else if (localObject6 == localzc2.b)
              {
                if ((bool2) || (localy.d() != null)) {
                  if (bool2) {}
                }
                Object localObject9 = !localy.d().g() ? localy.d() : null;
                if (((bool2) || (localObject9 != null)) && ((bool2) || (localvb4 != null)) && ((bool2) || (localObject9.d())) && ((bool2) || ((localvb4.e()) || (localvb4.f())))) {
                  localvb3 = localvb2;
                } else {
                  localvb3 = localvb1;
                }
                if (localvb4 == null) {
                  paramrb.a(locald, false, cd.a((byte)1));
                }
              }
              else
              {
                if (!bool2) {
                  if (localvb1.e() > localzc2.f.e())
                  {
                    localvb3 = localvb1;
                    break label1975;
                  }
                }
                if (!bool2) {
                  if (localvb2.e() < localzc2.d.e())
                  {
                    localvb3 = localvb2;
                    break label1975;
                  }
                }
                int i2 = Math.max(localvb1.e(), localzc2.d.e());
                i3 = Math.min(localvb2.e(), localzc2.f.e());
                if (!bool2) {
                  if (i3 < i2) {
                    throw new IllegalStateException("huh?");
                  }
                }
                i4 = (i2 + i3) / 2;
                localvb3 = paramac.a(i4);
              }
              localObject4 = paramrb.a((e)localObject6, localzc1, localvb3, locald);
              if (!bool2)
              {
                if (localObject5 != null) {
                  localHashMap.put(localObject5, localObject4);
                }
                localbb.add(localObject4);
                if (bool2) {
                  break label2071;
                }
                this.k.a(localObject4, localzc1);
              }
              if (!bool1) {}
            }
            else
            {
              throw new IllegalStateException("nodeData == null for node " + localObject7);
            }
          }
          localObject6 = this.c.s(locald);
          this.c.a(locald, locald.e(), (e)localObject4);
          this.c.a((e)localObject4, (a.d.w)localObject6);
          this.c.b(locald, a.d.w.c);
        }
        ((m)localObject1).f();
      }
    } while (!bool1);
    label393:
    label809:
    label811:
    label1100:
    label1388:
    if (!bool2) {
      b();
    }
    label1427:
    label1975:
    label1991:
    label2142:
    localObject1 = k();
    label2071:
    if ((bool2) || (localObject1 != null))
    {
      double d1 = ((s)localObject1).a * 0.5D;
      localObject2 = (x)this.c.c(ib.a);
      localObject3 = (x)this.c.c(ib.b);
      localObject4 = localbb.l();
      do
      {
        if (!((a.c.w)localObject4).e()) {
          break;
        }
        localObject5 = ((a.c.w)localObject4).d();
        ((x)localObject2).a(localObject5, d1);
        ((x)localObject3).a(localObject5, d1);
        ((a.c.w)localObject4).f();
      } while (!bool1);
    }
  }
  
  private s k()
  {
    k localk = this.c.c(d.L);
    if (!d.R) {
      if (localk == null) {
        return null;
      }
    }
    return (s)localk.get(this.c);
  }
  
  private boolean a(e parame, a.c.d paramd, bc parambc)
  {
    return a(parame, paramd, parambc, (byte)8);
  }
  
  private boolean c(e parame, a.c.d paramd, bc parambc)
  {
    return a(parame, paramd, parambc, (byte)4);
  }
  
  private boolean a(e parame, a.c.d paramd, bc parambc, byte paramByte)
  {
    boolean bool = d.R;
    int i1 = parame == paramd.e() ? 1 : 0;
    y localy = parambc.a(paramd);
    cd localcd = i1 != 0 ? localy.d() : localy.f();
    if ((bool) || (localcd != null)) {
      if (bool) {}
    }
    return localcd.b() == paramByte;
  }
  
  private e a(e parame, a.c.z paramz, bc parambc)
  {
    e locale = (e)paramz.a();
    if (parambc.a(locale).d() == 12) {
      return locale;
    }
    return a(parame, paramz, parambc, (byte)12);
  }
  
  private e c(e parame, a.c.z paramz, bc parambc)
  {
    e locale = (e)paramz.d();
    if (parambc.a(locale).d() == 13) {
      return locale;
    }
    return a(parame, paramz, parambc, (byte)13);
  }
  
  private e a(e parame, a.c.z paramz, bc parambc, byte paramByte)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    v localv = paramz.f();
    do
    {
      while (!bool1)
      {
        if (localv == null) {
          break;
        }
        if (!bool2)
        {
          if ((localv.c() instanceof e))
          {
            e locale = (e)localv.c();
            ec localec = parambc.a(locale);
            if (bool2) {
              continue;
            }
            if (localec.a() == parame)
            {
              if (bool2) {
                continue;
              }
              if (localec.d() == paramByte) {
                return locale;
              }
            }
          }
          localv = localv.a();
        }
      }
    } while (bool2);
    return null;
  }
  
  void l()
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    if (!bool2) {
      if (!o()) {
        return;
      }
    }
    a.c.y localy = this.i.h();
    do
    {
      if (!localy.e()) {
        break;
      }
      f_ localf_ = (f_)localy.j();
      localf_.a();
      localy.f();
    } while (!bool1);
  }
  
  void a(a.f.o paramo, bc parambc)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    this.b.clear();
    m localm = paramo.w();
    label209:
    do
    {
      if (!localm.e()) {
        break;
      }
      a.c.d locald = localm.a();
      y localy = parambc.a(locald);
      ec localec1 = parambc.a(locald.e());
      ec localec2 = parambc.a(locald.f());
      cd localcd = localy.d();
      if (!bool2)
      {
        if (localec1.d() == 15)
        {
          if (bool2) {
            continue;
          }
          if ((localec2.d() == localec1.d()) && (localec1.a() == localec2.a()) && ((bool2) || (localcd != null)) && ((bool2) || (localcd == localy.f())))
          {
            if (!bool2) {
              if (!localcd.e())
              {
                if (bool2) {
                  continue;
                }
                if (!localcd.f()) {
                  break label209;
                }
              }
            }
            this.b.add(locald);
            paramo.f(locald);
          }
        }
        localm.f();
      }
    } while (!bool1);
  }
  
  private double a(a.c.d paramd)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    z localz = this.d.a(paramd).m();
    double d1 = (bool2) || (localz != null) ? Math.max(localz.a(), localz.b()) : 15.0D;
    double d2 = 0.0D;
    wb[] arrayOfwb = this.c.g(paramd);
    if (arrayOfwb != null)
    {
      int i1 = 0;
      do
      {
        if (i1 >= arrayOfwb.length) {
          break;
        }
        d2 = Math.max(d2, arrayOfwb[i1].c().b());
        i1++;
        if ((!bool2) && (bool1)) {
          break label141;
        }
      } while (!bool1);
    }
    label141:
    double d3 = (!bool2) && ((bool2) || (localz != null)) ? localz.d() : 5.0D;
    s locals = k();
    double d4 = (bool2) || (locals != null) ? locals.a * 0.5D : 0.0D;
    return d4 + d3 + Math.max(d2, d1);
  }
  
  private double a(a.c.d paramd, e parame)
  {
    boolean bool2 = d.R;
    double d1 = 0.0D;
    z localz = this.d.a(paramd).m();
    if (!bool2) {
      if (localz != null)
      {
        boolean bool1 = this.d.a(paramd).k();
        if (!bool2) {
          if (paramd.e() == parame)
          {
            if (bool2) {
              break label106;
            }
            if (!bool1) {
              break label92;
            }
          }
        }
        if (paramd.f() == parame) {
          if (!bool2)
          {
            if (bool1)
            {
              label92:
              if (bool2) {
                break label117;
              }
              d1 = localz.a();
            }
          }
          else {
            label106:
            if (!d.Q) {
              break label115;
            }
          }
        }
        d1 = localz.b();
      }
    }
    label115:
    label117:
    double d2 = (bool2) || (localz != null) ? localz.d() : 5.0D;
    s locals = k();
    double d3 = (bool2) || (locals != null) ? locals.a * 0.5D : 0.0D;
    return d3 + d2 + d1;
  }
  
  void a(ac paramac, cb paramcb)
  {
    boolean bool5 = d.R;
    boolean bool4 = d.Q;
    if (!bool5)
    {
      if (!o()) {
        return;
      }
      this.i.clear();
    }
    x localx1 = (x)this.c.c(ib.a);
    x localx2 = (x)this.c.c(ib.b);
    m localm = this.b.l();
    Object localObject1;
    Object localObject2;
    e locale2;
    ec localec;
    Object localObject3;
    Object localObject4;
    Object localObject5;
    Object localObject6;
    Object localObject8;
    label507:
    do
    {
      if (!localm.e()) {
        break;
      }
      localObject1 = localm.a();
      this.c.g((a.c.d)localObject1);
      e locale1 = ((a.c.d)localObject1).e();
      localObject2 = this.d.a(locale1);
      locale2 = ((a.c.d)localObject1).f();
      localec = this.d.a(locale2);
      boolean bool1 = a(locale1, (a.c.d)localObject1, this.d);
      localObject3 = ((ec)localObject2).f();
      localObject4 = i((e)localObject3);
      a locala1 = ((zc)localObject4).b(((ec)localObject2).h());
      if (bool4) {
        break label603;
      }
      e locale3 = bool1 ? a((e)localObject3, locala1, this.d) : c((e)localObject3, locala1, this.d);
      this.i.add(new f_((a.c.d)localObject1, locale1, locale3));
      this.i.add(new f_((a.c.d)localObject1, locale2, locale3));
      this.c.a((a.c.d)localObject1, locale3, locale3);
      localObject5 = paramac.a(((ec)localObject2).h());
      Object localObject7;
      if (!bool5)
      {
        if (locale1.c() == 0) {
          if (!bool5)
          {
            if (((ec)localObject2).c() == 0) {
              this.c.d(locale1);
            }
          }
          else
          {
            ((vb)localObject5).c().remove(locale1);
            localObject6 = i(((ec)localObject2).a());
            localObject7 = ((zc)localObject6).b(((ec)localObject2).h());
            ((a)localObject7).remove(locale1);
          }
        }
        ((vb)localObject5).a(((vb)localObject5).c());
      }
      localObject6 = paramac.a(localec.h());
      if (!bool5)
      {
        if (locale2.c() == 0)
        {
          if (bool5) {
            break label507;
          }
          if (localec.c() == 0)
          {
            this.c.d(locale2);
            ((vb)localObject6).c().remove(locale2);
            localObject7 = i(localec.a());
            localObject8 = ((zc)localObject7).b(localec.h());
            ((a)localObject8).remove(locale2);
          }
        }
        ((vb)localObject6).a(((vb)localObject6).c());
      }
      double d1;
      if (bool1)
      {
        d1 = localx1.getDouble(locale3);
        localx1.a(locale3, Math.max(d1, a((a.c.d)localObject1)));
        if (bool5) {
          continue;
        }
        if (!bool4) {}
      }
      else
      {
        d1 = localx2.getDouble(locale3);
        localx2.a(locale3, Math.max(d1, a((a.c.d)localObject1)));
      }
      paramcb.a(this.c, (a.c.d)localObject1);
      localm.f();
    } while (!bool4);
    label603:
    int i1 = 0;
    label639:
    do
    {
      if (i1 >= paramac.a()) {
        break;
      }
      localObject1 = paramac.a(i1);
      int i2 = 0;
      localObject2 = ((vb)localObject1).c().f();
      do
      {
        if (localObject2 == null) {
          break label1559;
        }
        locale2 = (e)((v)localObject2).c();
        localec = this.d.a(locale2);
        if (bool4) {
          break;
        }
        if (localec.d() == 15)
        {
          d.q_ localq_ = (d.q_)localec;
          localObject3 = locale2.l();
          boolean bool2;
          boolean bool3;
          a locala2;
          Object localObject9;
          a locala3;
          do
          {
            if (!((m)localObject3).e()) {
              break;
            }
            localObject4 = ((m)localObject3).a();
            bool2 = a(locale2, (a.c.d)localObject4, this.d);
            bool3 = c(locale2, (a.c.d)localObject4, this.d);
            if (bool4) {
              break label1566;
            }
            if ((bool2) || (bool3))
            {
              localObject5 = localq_.f();
              localObject6 = i((e)localObject5);
              locala2 = ((zc)localObject6).b(localq_.h());
              localObject8 = bool2 ? a((e)localObject5, locala2, this.d) : c((e)localObject5, locala2, this.d);
              if (!bool5)
              {
                this.i.add(new f_((a.c.d)localObject4, locale2, (e)localObject8));
                if (((a.c.d)localObject4).e() == locale2)
                {
                  if (bool5) {
                    break label913;
                  }
                  this.c.a((a.c.d)localObject4, (e)localObject8, ((a.c.d)localObject4).f());
                  if (!bool4) {
                    break label912;
                  }
                }
              }
              this.c.a((a.c.d)localObject4, ((a.c.d)localObject4).e(), (e)localObject8);
              localObject9 = this.d.a((a.c.d)localObject4).m();
              double d2;
              if (bool2)
              {
                d2 = localx1.getDouble(localObject8);
                localx1.a(localObject8, Math.max(d2, a((a.c.d)localObject4, locale2)));
                if (bool5) {
                  break label1014;
                }
                if (!bool4) {}
              }
              else
              {
                d2 = localx2.getDouble(localObject8);
                localx2.a(localObject8, Math.max(d2, a((a.c.d)localObject4, locale2)));
              }
              if (bool5) {
                continue;
              }
              if (locale2.c() == 0)
              {
                if (bool5) {
                  continue;
                }
                if (localec.c() == 0)
                {
                  this.c.d(locale2);
                  ((vb)localObject1).c().h((v)localObject2);
                  i2 = 1;
                  zc localzc1 = i(localq_.a());
                  locala3 = localzc1.b(localq_.h());
                  locala3.remove(locale2);
                }
              }
            }
            ((m)localObject3).f();
          } while (!bool4);
          if (bool5) {
            break label639;
          }
          localObject3 = localec.b();
          do
          {
            if (localObject3 == null) {
              break;
            }
            localObject4 = (a.c.d)((v)localObject3).c();
            bool2 = a(locale2, (a.c.d)localObject4, this.d);
            bool3 = c(locale2, (a.c.d)localObject4, this.d);
            if (bool4) {
              break label1566;
            }
            if ((bool2) || (bool3))
            {
              localObject5 = localq_.f();
              localObject6 = i((e)localObject5);
              locala2 = ((zc)localObject6).b(localq_.h());
              localObject8 = bool2 ? a((e)localObject5, locala2, this.d) : c((e)localObject5, locala2, this.d);
              localObject9 = (d.q_)this.d.a((e)localObject8);
              ((d.q_)localObject9).a((a.c.d)localObject4);
              localq_.a((v)localObject3);
              if (!bool5)
              {
                this.i.add(new f_((a.c.d)localObject4, locale2, (e)localObject8));
                if (((a.c.d)localObject4).e() == locale2)
                {
                  this.c.a((a.c.d)localObject4, (e)localObject8, ((a.c.d)localObject4).f());
                  if (bool5) {
                    break label1365;
                  }
                  if (!bool4) {
                    break label1363;
                  }
                }
              }
              this.c.a((a.c.d)localObject4, ((a.c.d)localObject4).e(), (e)localObject8);
              double d3;
              if (bool2)
              {
                d3 = localx1.getDouble(localObject8);
                localx1.a(localObject8, Math.max(d3, a((a.c.d)localObject4, locale2)));
                if (bool5) {
                  break label1447;
                }
                if (!bool4) {}
              }
              else
              {
                d3 = localx2.getDouble(localObject8);
                localx2.a(localObject8, Math.max(d3, a((a.c.d)localObject4, locale2)));
              }
              if (bool5) {
                continue;
              }
              if (locale2.c() == 0)
              {
                if (bool5) {
                  continue;
                }
                if (localec.c() == 0)
                {
                  this.c.d(locale2);
                  ((vb)localObject1).c().h((v)localObject2);
                  i2 = 1;
                  zc localzc2 = i(localq_.a());
                  locala3 = localzc2.b(localq_.h());
                  locala3.remove(locale2);
                }
              }
            }
            localObject3 = ((v)localObject3).a();
          } while (!bool4);
        }
        localObject2 = ((v)localObject2).a();
        if (bool5) {
          break label1566;
        }
      } while (!bool4);
      if (bool5) {
        break;
      }
      if (i2 != 0) {
        ((vb)localObject1).a(((vb)localObject1).c());
      }
      i1++;
    } while (!bool4);
    label912:
    label913:
    label1014:
    return;
  }
  
  void a(a.f.o paramo)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    if (!o()) {
      return;
    }
    m localm = paramo.w();
    do
    {
      if (!localm.e()) {
        break;
      }
      a.c.d locald = localm.a();
      e locale = (e)this.m.get(locald);
      if (!bool2) {
        if (locale != null)
        {
          if (!bool2) {
            if (!paramo.h(locale)) {
              paramo.e(locale);
            }
          }
          localObject = paramo.r(locald);
          paramo.a(locale, paramo.o(locald.e()));
          paramo.a(locald, locale, locald.f());
          paramo.c(locald, (a.d.w)localObject);
        }
      }
      Object localObject = (e)this.n.get(locald);
      if (!bool2)
      {
        if (localObject != null)
        {
          if (!bool2) {
            if (!paramo.h((e)localObject)) {
              paramo.e((e)localObject);
            }
          }
          a.d.w localw = paramo.s(locald);
          paramo.a((e)localObject, paramo.o(locald.f()));
          paramo.a(locald, locald.e(), (e)localObject);
          paramo.d(locald, localw);
        }
        localm.f();
      }
    } while (!bool1);
  }
  
  void o(ac paramac)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    if (!bool2) {
      if (!o()) {
        return;
      }
    }
    int i1 = 0;
    label428:
    label621:
    do
    {
      do
      {
        break label855;
        if (i1 >= paramac.a()) {
          break label919;
        }
        vb localvb = paramac.a(i1);
        a locala = null;
        int i2 = 0;
        if (bool1) {
          return;
        }
        v localv1 = localvb.c().f();
        e locale1;
        do
        {
          if (localv1 == null) {
            break label808;
          }
          locale1 = (e)localv1.c();
          ec localec = this.d.a(locale1);
          if (bool1) {
            break;
          }
          if (localec.d() == 15)
          {
            v localv2 = localec.b();
            if (bool2) {
              break label801;
            }
            if (localv2 != null)
            {
              d.kb_ localkb_ = (d.kb_)localec;
              zc localzc = i(localkb_.a());
              a.c.d locald = (a.c.d)localv2.c();
              y localy = this.d.a(locald);
              cd localcd = locald.e() == locale1 ? localy.d() : localy.f();
              d.q_ localq_1 = (d.q_)this.d.a(locald.a(locale1));
              if (bool2) {
                continue;
              }
              if (localq_1.a() != localzc.b)
              {
                if (bool2) {
                  continue;
                }
                if (localq_1.d() != 8)
                {
                  if (bool2) {
                    continue;
                  }
                  if (localq_1.d() != 9)
                  {
                    if ((bool2) || (localcd != null))
                    {
                      if (bool2) {
                        continue;
                      }
                      if (localcd.c()) {
                        break label796;
                      }
                      if (!bool2) {
                        if (localcd.d()) {
                          break label796;
                        }
                      }
                    }
                    else
                    {
                      if (bool2) {
                        break label428;
                      }
                    }
                    if (localy.a() != 4)
                    {
                      if (!bool2) {
                        if (localzc.d.e() == localkb_.h())
                        {
                          if (!bool2) {
                            if (localy.l()) {
                              break label796;
                            }
                          }
                        }
                        else {
                          if (bool2) {
                            break label428;
                          }
                        }
                      }
                      if (localzc.f.e() == localkb_.h())
                      {
                        if (bool2) {
                          break label428;
                        }
                        if (!localy.l()) {
                          break label796;
                        }
                      }
                    }
                    locala = localzc.b(localkb_.h());
                    e locale2 = (e)locala.a();
                    e locale3 = (e)locala.d();
                    d.q_ localq_2 = (d.q_)this.d.a(locale2);
                    d.q_ localq_3 = (d.q_)this.d.a(locale3);
                    do
                    {
                      if (localv2 == null) {
                        break label733;
                      }
                      locald = (a.c.d)localv2.c();
                      e locale4 = locald.a(locale1);
                      d.q_ localq_4 = (d.q_)this.d.a(locale4);
                      e locale5 = null;
                      d.q_ localq_5 = null;
                      if (bool1) {
                        break;
                      }
                      if (localq_4.i() < localq_2.i())
                      {
                        locale5 = locale2;
                        localq_5 = localq_2;
                      }
                      else
                      {
                        if (!bool2) {
                          if (localq_4.i() > localq_3.i())
                          {
                            locale5 = locale3;
                            localq_5 = localq_3;
                            break label621;
                          }
                        }
                        if (localkb_.i() > localq_4.i())
                        {
                          locale5 = locale3;
                          localq_5 = localq_3;
                        }
                        else
                        {
                          locale5 = locale2;
                          localq_5 = localq_2;
                        }
                      }
                      localq_5.a(locald);
                      localkb_.a(localv2);
                      if (!bool2)
                      {
                        if (locald.e() == locale1)
                        {
                          this.c.a(locald, locale5, locald.f());
                          this.m.a(locald, locale1);
                          if (bool2) {
                            continue;
                          }
                          if (!bool1) {}
                        }
                        else
                        {
                          this.c.a(locald, locald.e(), locale5);
                        }
                      }
                      else {
                        this.n.a(locald, locale1);
                      }
                      localv2 = localv2.a();
                    } while (!bool1);
                    if (bool2) {
                      break label815;
                    }
                    if (bool2) {
                      continue;
                    }
                    if (locale1.c() == 0)
                    {
                      if (bool2) {
                        continue;
                      }
                      if (localkb_.c() == 0)
                      {
                        this.c.d(locale1);
                        localvb.c().h(localv1);
                        locala.remove(locale1);
                        i2 = 1;
                      }
                    }
                  }
                }
              }
            }
          }
          localv1 = localv1.a();
        } while (!bool1);
        if (bool2) {
          break label924;
        }
        if (bool2) {
          break;
        }
        if (i2 != 0)
        {
          localvb.a(localvb.c());
          localv1 = locala.f();
          do
          {
            if (localv1 == null) {
              break label906;
            }
            if (bool1) {
              break;
            }
            if ((localv1.c() instanceof e))
            {
              locale1 = (e)localv1.c();
              if (bool2) {
                continue;
              }
              if (locale1.g() == null) {
                locala.h(localv1);
              }
            }
            localv1 = localv1.a();
          } while (!bool1);
        }
        i1++;
      } while (bool2);
    } while (!bool1);
    label733:
    if (!bool2) {
      p(paramac);
    }
    label796:
    label801:
    label808:
    label815:
    label855:
    return;
  }
  
  void p(ac paramac)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    if (!bool2)
    {
      if (!o()) {
        return;
      }
      this.k.d(paramac, this.d);
    }
    int i1 = 0;
    do
    {
      if (i1 >= paramac.a()) {
        break;
      }
      bb localbb = paramac.a(i1).c();
      this.k.a(i1, localbb.f());
      paramac.a(i1).a(localbb);
      i1++;
    } while (!bool1);
  }
  
  void m()
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    if (!bool2) {
      if (!o()) {
        return;
      }
    }
    int i1 = 0;
    a.c.w localw = this.c.v();
    label270:
    label416:
    label802:
    label815:
    do
    {
      e locale;
      ec localec;
      m localm;
      a.c.d locald;
      Object localObject1;
      Object localObject2;
      Object localObject3;
      Object localObject4;
      Object localObject5;
      do
      {
        if (!localw.e()) {
          return;
        }
        locale = localw.d();
        localec = this.d.a(locale);
        if (localec.d() != 15) {
          break;
        }
        localm = new ab(locale.m()).l();
        do
        {
          do
          {
            if (!localm.e()) {
              break;
            }
            locald = localm.a();
            localObject1 = this.d.a(locald);
            localObject2 = i(localec.a());
            localObject3 = ((zc)localObject2).b;
            localObject4 = ((zc)localObject2).x;
            localObject5 = this.c.o(locald);
            if (bool1) {
              break label270;
            }
            if (i1 == 0) {
              a((a.c.z)localObject5, false, true, new t(((Rectangle2D)localObject4).getX(), ((Rectangle2D)localObject4).getY(), ((Rectangle2D)localObject4).getWidth(), ((Rectangle2D)localObject4).getHeight()));
            }
            this.c.a(locald, locald.e(), (e)localObject3);
            this.c.a(locald, (a.c.z)localObject5);
            localm.f();
          } while (!bool1);
        } while (bool2);
        localm = new ab(locale.n()).l();
        do
        {
          if (!localm.e()) {
            break label416;
          }
          locald = localm.a();
          localObject1 = this.d.a(locald);
          localObject2 = i(localec.a());
          localObject3 = ((zc)localObject2).b;
          localObject4 = this.c.o(locald);
          localObject5 = ((zc)localObject2).x;
          this.c.a(locald, (e)localObject3, locald.f());
          if (bool1) {
            break;
          }
          if (i1 == 0) {
            a((a.c.z)localObject4, true, false, new t(((Rectangle2D)localObject5).getX(), ((Rectangle2D)localObject5).getY(), ((Rectangle2D)localObject5).getWidth(), ((Rectangle2D)localObject5).getHeight()));
          }
          this.c.a(locald, (a.c.z)localObject4);
          localm.f();
        } while (!bool1);
        this.c.a(locale);
      } while (bool2);
      if (!bool2)
      {
        if (bool1) {}
        do
        {
          if (!bool2)
          {
            if (localec.d() != 12) {
              if (bool2) {
                break label815;
              }
            }
          }
          else {
            if (localec.d() != 13) {
              break label802;
            }
          }
          localm = new ab(locale.l()).l();
          do
          {
            if (!localm.e()) {
              break label802;
            }
            locald = localm.a();
            localObject1 = locald.a(locale);
            localObject2 = this.d.a((e)localObject1);
            localObject3 = this.d.a(locald);
            if (bool1) {
              break;
            }
            if (((y)localObject3).a() != 6)
            {
              localObject4 = i(localec.a());
              localObject5 = ((zc)localObject4).b;
              a.c.z localz;
              Rectangle2D localRectangle2D;
              if (!bool2) {
                if (locald.f() == locale)
                {
                  localz = this.c.o(locald);
                  localRectangle2D = ((zc)localObject4).x;
                  if (!bool2)
                  {
                    if (i1 == 0) {
                      a(localz, false, true, new t(localRectangle2D.getX(), localRectangle2D.getY(), localRectangle2D.getWidth(), localRectangle2D.getHeight()));
                    }
                    this.c.a(locald, locald.e(), (e)localObject5);
                    this.c.a(locald, localz);
                  }
                  if (bool2) {
                    continue;
                  }
                }
              }
              if ((bool1) && (locald.e() == locale))
              {
                localz = this.c.o(locald);
                localRectangle2D = ((zc)localObject4).x;
                if (!bool2)
                {
                  this.c.a(locald, (e)localObject5, locald.f());
                  if (i1 == 0) {
                    a(localz, true, false, new t(localRectangle2D.getX(), localRectangle2D.getY(), localRectangle2D.getWidth(), localRectangle2D.getHeight()));
                  }
                }
                this.c.a(locald, localz);
              }
            }
            localm.f();
          } while (!bool1);
          localw.f();
        } while (bool2);
      }
    } while (!bool1);
  }
  
  void q(ac paramac)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    if (!bool2) {
      if (!o()) {
        return;
      }
    }
    do
    {
      for (int i1 = 0; !bool1; i1++)
      {
        if (i1 >= paramac.a()) {
          break;
        }
        if (bool1) {
          break label72;
        }
        this.k.a(paramac.a(i1), this.c);
      }
    } while (bool2);
    label72:
    s locals = k();
    label278:
    if (locals != null)
    {
      a.c.w localw = this.c.v();
      label216:
      do
      {
        if (!localw.e()) {
          break;
        }
        e locale = localw.d();
        double d1;
        do
        {
          int i2 = this.d.a(locale).d();
          if (i2 != 12)
          {
            if (bool2) {
              break label278;
            }
            if (i2 != 13) {
              break;
            }
          }
          int i3 = 0;
          m localm = locale.l();
          do
          {
            if (!localm.e()) {
              break label216;
            }
            a.c.d locald = localm.a();
            int i4 = this.d.a(locald).a();
            if (bool1) {
              break;
            }
            if (i4 != 6) {
              i3++;
            }
            localm.f();
          } while (!bool1);
          d1 = Math.max(i3 * locals.b, this.c.t(locale));
        } while (bool2);
        this.c.a(locale, new s(this.c.s(locale), d1));
        localw.f();
      } while (!bool1);
    }
  }
  
  void r(ac paramac)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    if (!bool2) {
      if (!o()) {
        return;
      }
    }
    int i1 = 0;
    label129:
    do
    {
      do
      {
        if (i1 >= paramac.a()) {
          break;
        }
        vb localvb = paramac.a(i1);
        int i2 = 0;
        v localv = localvb.c().f();
        do
        {
          if (localv == null) {
            break label129;
          }
          e locale = (e)localv.c();
          ec localec = this.d.a(locale);
          if (bool1) {
            break;
          }
          if ((localec instanceof d.q_))
          {
            d.q_ localq_ = (d.q_)localec;
            localq_.a(i2);
          }
          localv = localv.a();
          i2++;
        } while (!bool1);
        i1++;
      } while (bool2);
    } while (!bool1);
  }
  
  void a(a.c.z paramz, boolean paramBoolean1, boolean paramBoolean2, t paramt)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    if (!bool2) {
      if (paramz.size() < 2) {
        return;
      }
    }
    a.c.z localz = new a.c.z(paramz.h());
    a.d.w localw1;
    a.d.w localw2;
    if (paramBoolean1)
    {
      localw1 = null;
      localw2 = null;
      while (!paramz.isEmpty())
      {
        if (bool1) {
          break label126;
        }
        if (paramt.a((a.d.w)paramz.a()))
        {
          localw1 = (a.d.w)paramz.b();
          if (!bool1) {
            break;
          }
        }
        else
        {
          localw2 = (a.d.w)paramz.a();
          if (bool2) {
            break label125;
          }
        }
      }
      if (localw1 != null) {
        paramz.a(a(localw1, localw2, paramt));
      }
    }
    label125:
    if (paramBoolean2)
    {
      label126:
      localw1 = null;
      localw2 = null;
      while (!paramz.isEmpty())
      {
        if (bool2) {
          break label223;
        }
        if (bool1) {
          break label222;
        }
        if (paramt.a((a.d.w)paramz.d()))
        {
          localw1 = (a.d.w)paramz.e();
          if (!bool1) {
            break;
          }
        }
        else
        {
          localw2 = (a.d.w)paramz.d();
          if (bool2) {
            break label218;
          }
        }
      }
      if (localw1 != null) {
        paramz.b(a(localw1, localw2, paramt));
      }
    }
    label218:
    label222:
    if (paramz.size() < 2)
    {
      label223:
      paramz.clear();
      paramz.a(localz);
    }
  }
  
  private static boolean a(a.d.w paramw1, a.d.w paramw2)
  {
    double d1 = Math.abs(paramw1.a - paramw2.a);
    double d2 = Math.abs(paramw1.b - paramw2.b);
    if (!d.R) {}
    return Math.abs(d1 - d2) < 0.001D;
  }
  
  private a.d.w a(a.d.w paramw1, a.d.w paramw2, t paramt)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    if (((bool2) || (paramw1 != null)) && ((bool2) || (paramw2 != null)))
    {
      if (!bool2) {
        if (a(paramw1, paramw2)) {
          return a.d.o.b(new a.d.o(paramt), new a.d.n(paramw1, paramw2), 0.001D);
        }
      }
      double d1 = paramw1.a();
      double d2 = paramw1.b();
      if (!bool2) {
        if (paramw2.a < paramt.d())
        {
          d1 = paramt.d();
          if (bool2) {
            break label152;
          }
          if (!bool1) {
            break label143;
          }
        }
      }
      if (!bool2) {
        if (paramw2.a > paramt.d() + paramt.b()) {
          d1 = paramt.d() + paramt.b();
        }
      }
      label143:
      label152:
      if (!bool2) {
        if (paramw2.b < paramt.e())
        {
          d2 = paramt.e();
          if (!bool2) {
            if (!bool1) {
              break label209;
            }
          }
        }
        else
        {
          if (bool2) {
            break label220;
          }
        }
      }
      if (paramw2.b > paramt.e() + paramt.c()) {
        d2 = paramt.e() + paramt.c();
      }
      label209:
      label220:
      return new a.d.w(d1, d2);
    }
    return null;
  }
  
  public void d(ac paramac, rb paramrb)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    if (!bool2) {
      if (!o()) {
        return;
      }
    }
    int i1 = 0;
    int i2 = 0;
    label222:
    do
    {
      if (i2 >= paramac.a()) {
        break;
      }
      vb localvb = paramac.a(i2);
      if ((!bool2) && (bool1)) {
        break label325;
      }
      if (localvb.d() == 1)
      {
        i1 = 1;
        Object localObject = this.k;
        a.c.z localz = new a.c.z();
        localz.add(localObject);
        v localv = localvb.c().f();
        do
        {
          if (localv == null) {
            break label306;
          }
          e locale = (e)localv.c();
          d.q_ localq_ = (d.q_)this.d.a(locale);
          if (bool1) {
            break;
          }
          if (localq_.d() != 1)
          {
            if (bool2) {
              break label222;
            }
            if (localq_.d() != 4) {}
          }
          else
          {
            localq_.a(((zc)localObject).b);
            ((zc)localObject).a(locale);
            this.k.a(((zc)localObject).b, localq_);
            if (bool2) {
              continue;
            }
            if (!bool1) {
              break label294;
            }
          }
          if (!bool2)
          {
            if (localq_.d() == 12)
            {
              localObject = i(localq_.a());
              localz.c(localObject);
              if (bool2) {
                continue;
              }
              if (!bool1) {}
            }
            else
            {
              if (bool2) {
                continue;
              }
            }
          }
          else if (localq_.d() == 13)
          {
            localz.b();
            localObject = (zc)localz.c();
          }
          localv = localv.a();
        } while (!bool1);
      }
      i2++;
    } while ((!bool2) && (!bool1));
    label294:
    label306:
    if ((!bool2) && (i1 != 0))
    {
      label325:
      d(paramac);
      r(paramac);
    }
  }
  
  boolean h(e parame)
  {
    boolean bool = d.R;
    int i1 = this.d.a(parame).d();
    if (!bool) {
      if (i1 != 12) {
        if (bool) {
          break label41;
        }
      }
    }
    label41:
    return i1 == 13;
  }
  
  void n()
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    m localm = this.c.w();
    label145:
    label158:
    do
    {
      if (!localm.e()) {
        break;
      }
      a.c.d locald = localm.a();
      if (!bool2) {
        if (!g(locald.e()))
        {
          if (bool2) {
            break label158;
          }
          if (!g(locald.f())) {
            break label145;
          }
        }
      }
      y localy = this.d.a(locald);
      Object localObject;
      if (!bool2) {
        if ((localy instanceof d.m_))
        {
          localObject = (d.m_)localy;
          ((d.m_)localObject).a(true, null);
          ((d.m_)localObject).a(null);
          if (bool2) {
            break label158;
          }
          if (!bool1) {
            break label145;
          }
        }
      }
      if (!bool2)
      {
        if ((localy instanceof d.n_))
        {
          localObject = (d.n_)localy;
          ((d.n_)localObject).a(true, null);
        }
        if (bool2) {}
      }
      else if (!g(locald.f()))
      {
        if (bool2) {
          continue;
        }
        if (!g(locald.e())) {
          break label256;
        }
      }
      localy = this.d.a(locald);
      if (!bool2) {
        if ((localy instanceof d.m_))
        {
          localObject = (d.m_)localy;
          ((d.m_)localObject).a(false, null);
          ((d.m_)localObject).b(null);
          if (bool2) {
            continue;
          }
          if (!bool1) {
            break label256;
          }
        }
      }
      if (!bool2)
      {
        if ((localy instanceof d.n_))
        {
          localObject = (d.n_)localy;
          ((d.n_)localObject).a(false, null);
        }
        localm.f();
      }
    } while (!bool1);
    label256:
  }
  
  double a(kb paramkb, double paramDouble1, double paramDouble2)
  {
    if (o())
    {
      f localf1 = paramkb.f().a(false, false);
      f localf2 = paramkb.e().a(false, false);
      double d1 = localf1.f(localf2);
      if (d.R) {
        break label72;
      }
      if (d1 < paramDouble1)
      {
        double d2 = paramDouble1 - d1;
        paramkb.i(d2);
        paramDouble2 += d2;
      }
    }
    label72:
    return paramDouble2;
  }
  
  void a(a.c.z[] paramArrayOfz, int[] paramArrayOfInt1, int[] paramArrayOfInt2)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    int[] arrayOfInt1 = new int[this.k.L.size()];
    int[] arrayOfInt2 = new int[this.k.L.size()];
    d_ local1 = new d_()
    {
      private final int[] val$swimLaneArray;
      private final int[] val$gBeginSLIndex;
      private final int[] val$gEndSLIndex;
      
      public int compare(Object paramAnonymousObject1, Object paramAnonymousObject2)
      {
        boolean bool2 = d.R;
        boolean bool1 = d.Q;
        if (!bool2) {
          if ((paramAnonymousObject1 instanceof e))
          {
            i = j = this.val$swimLaneArray[((e)paramAnonymousObject1).f()];
            n = 0;
            if (bool2) {
              break label107;
            }
            if (!bool1) {
              break label98;
            }
          }
        }
        zc localzc = (zc)paramAnonymousObject1;
        int i = this.val$gBeginSLIndex[localzc.v];
        int j = this.val$gEndSLIndex[localzc.v];
        if (!bool2) {}
        int n = i != j ? 1 : 0;
        label98:
        if (!bool2) {
          if ((paramAnonymousObject2 instanceof e))
          {
            label107:
            k = m = this.val$swimLaneArray[((e)paramAnonymousObject2).f()];
            i1 = 0;
            if (bool2) {
              break label191;
            }
            if (!bool1) {
              break label189;
            }
          }
        }
        localzc = (zc)paramAnonymousObject2;
        int k = this.val$gBeginSLIndex[localzc.v];
        int m = this.val$gEndSLIndex[localzc.v];
        if (!bool2) {}
        int i1 = k != m ? 1 : 0;
        label189:
        label191:
        if (!bool2) {
          if (n == 0)
          {
            if (bool2) {
              break label219;
            }
            if (i1 == 0) {
              return l.a(j, m);
            }
          }
        }
        label219:
        if (!bool2)
        {
          if (j < k) {
            return -1;
          }
          if (bool2) {}
        }
        else if (m < i)
        {
          return 1;
        }
        if (!bool2) {
          if (n != 0)
          {
            if (bool2) {
              break label295;
            }
            if (i1 != 0)
            {
              if (!bool2)
              {
                if (j <= k) {
                  return -1;
                }
                if (bool2) {}
              }
              else if (m <= i)
              {
                return 1;
              }
              return 0;
            }
          }
        }
        label295:
        if (!bool2) {
          if (n != 0)
          {
            if (!bool2)
            {
              if (k >= j) {
                return -1;
              }
              if (bool2) {}
            }
            else if (m <= i)
            {
              return 1;
            }
            return 0;
          }
        }
        if (!bool2)
        {
          if (i >= m) {
            return 1;
          }
          if (bool2) {}
        }
        else if (j <= k)
        {
          return -1;
        }
        return 0;
      }
    };
    int i1 = 0;
    do
    {
      if (i1 >= this.k.L.size()) {
        break;
      }
      if ((!bool2) && (bool1)) {
        break label120;
      }
      zc localzc = (zc)this.k.L.get(i1);
      localzc.v = i1;
      i1++;
    } while (!bool1);
    label120:
    ArrayList localArrayList = new ArrayList();
    int i2 = 0;
    do
    {
      if (i2 >= paramArrayOfz.length) {
        break;
      }
      ad localad = this.k;
      a(localad, paramArrayOfInt1, i2, arrayOfInt1, arrayOfInt2);
      paramArrayOfInt2[i2] += a(localad, i2, paramArrayOfInt1, arrayOfInt1, arrayOfInt2, local1, 0);
      i2++;
    } while (!bool1);
  }
  
  private int a(zc paramzc, int paramInt1, int[] paramArrayOfInt1, int[] paramArrayOfInt2, int[] paramArrayOfInt3, Comparator paramComparator, int paramInt2)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    a locala = paramzc.b(paramInt1);
    ArrayList localArrayList = new ArrayList(locala);
    l.a(localArrayList, paramComparator);
    int i1 = 0;
    label243:
    do
    {
      if (i1 >= localArrayList.size()) {
        break;
      }
      Object localObject1 = localArrayList.get(i1);
      if (bool1) {
        break label447;
      }
      Object localObject2;
      int i2;
      if ((localObject1 instanceof zc))
      {
        localObject2 = (zc)localObject1;
        if (!bool2) {}
        i2 = paramArrayOfInt2[localObject2.v] != paramArrayOfInt3[localObject2.v] ? 1 : 0;
        Object localObject3;
        e locale;
        if (!bool2)
        {
          if (i2 != 0)
          {
            if (bool2) {
              break label263;
            }
            if (i1 > 0)
            {
              localObject3 = localArrayList.get(i1 - 1);
              if (!bool2) {
                if ((localObject3 instanceof e))
                {
                  locale = (e)localObject3;
                  int i3 = paramArrayOfInt1[locale.f()] - paramInt2;
                  if (!bool2)
                  {
                    if (i3 != -1)
                    {
                      if (bool2) {
                        break label263;
                      }
                      if (i3 != paramArrayOfInt2[localObject2.v]) {
                        break label243;
                      }
                    }
                    paramInt2++;
                  }
                  if (bool2) {
                    break label263;
                  }
                  if (!bool1) {
                    break label243;
                  }
                }
              }
              if (bool2) {
                break label263;
              }
              if (paramArrayOfInt2[((zc)localObject3).v] == paramArrayOfInt3[localObject2.v]) {
                paramInt2++;
              }
            }
          }
          paramInt2 = a((zc)localObject2, paramInt1, paramArrayOfInt1, paramArrayOfInt2, paramArrayOfInt3, paramComparator, paramInt2);
        }
        if (bool2) {
          continue;
        }
        if (i2 != 0)
        {
          if (bool2) {
            continue;
          }
          if (i1 < localArrayList.size() - 1)
          {
            localObject3 = localArrayList.get(i1 + 1);
            if (!bool2) {
              if ((localObject3 instanceof e))
              {
                locale = (e)localObject3;
                if (bool2) {
                  continue;
                }
                if (paramArrayOfInt1[locale.f()] > paramArrayOfInt3[localObject2.v]) {
                  break label437;
                }
                paramInt2++;
                if (bool2) {
                  continue;
                }
                if (!bool1) {
                  break label437;
                }
              }
            }
            if (bool2) {
              continue;
            }
            if (paramArrayOfInt2[((zc)localObject3).v] <= paramArrayOfInt3[localObject2.v])
            {
              paramInt2++;
              if (bool2) {
                continue;
              }
              if (!bool1) {}
            }
          }
        }
      }
      else
      {
        localObject2 = (e)localObject1;
        i2 = paramArrayOfInt1[localObject2.f()];
        if (bool2) {
          continue;
        }
        if (i2 >= 0)
        {
          i2 += paramInt2;
          paramArrayOfInt1[localObject2.f()] = i2;
        }
      }
      i1++;
    } while (!bool1);
    label263:
    label437:
    label447:
    return paramInt2;
  }
  
  private void a(zc paramzc, int[] paramArrayOfInt1, int paramInt, int[] paramArrayOfInt2, int[] paramArrayOfInt3)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    paramArrayOfInt2[paramzc.v] = 2147483647;
    paramArrayOfInt3[paramzc.v] = -1;
    a locala = paramzc.b(paramInt);
    v localv = locala.f();
    if (localv != null) {
      if (!bool2) {
        if ((localv.c() instanceof zc))
        {
          localObject = (zc)localv.c();
          a((zc)localObject, paramArrayOfInt1, paramInt, paramArrayOfInt2, paramArrayOfInt3);
          i1 = paramArrayOfInt2[localObject.v];
          if (!bool2)
          {
            if (i1 >= 0) {
              paramArrayOfInt2[paramzc.v] = Math.min(paramArrayOfInt2[paramzc.v], i1);
            }
            i1 = paramArrayOfInt3[localObject.v];
          }
          if (bool2) {
            break label248;
          }
          if (i1 < 0) {
            break label239;
          }
          paramArrayOfInt3[paramzc.v] = Math.max(paramArrayOfInt3[paramzc.v], i1);
          if (bool2) {
            break label248;
          }
          if (!bool1) {
            break label239;
          }
        }
      }
    }
    label239:
    label248:
    while (bool2)
    {
      Object localObject = (e)localv.c();
      int i1 = paramArrayOfInt1[localObject.f()];
      if (!bool2)
      {
        if (i1 >= 0)
        {
          paramArrayOfInt2[paramzc.v] = Math.min(paramArrayOfInt2[paramzc.v], i1);
          paramArrayOfInt3[paramzc.v] = Math.max(paramArrayOfInt3[paramzc.v], i1);
        }
        localv = localv.a();
      }
      if (!bool1) {
        break;
      }
    }
  }
  
  zc i(e parame)
  {
    if (!d.R) {
      if (!o()) {
        return null;
      }
    }
    zc localzc = (zc)this.k.K.get(parame);
    return localzc;
  }
  
  public boolean o()
  {
    return this.k.c();
  }
  
  public void a(e parame, g_ paramg_)
  {
    if (!d.R) {
      if (!o()) {
        return;
      }
    }
    zc localzc = i(parame);
    a(localzc, paramg_);
  }
  
  private void a(zc paramzc, g_ paramg_)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    if (!o()) {
      return;
    }
    Iterator localIterator = paramzc.g().iterator();
    do
    {
      do
      {
        Object localObject;
        do
        {
          if (!localIterator.hasNext()) {
            break;
          }
          localObject = localIterator.next();
          if (!bool2) {
            if ((localObject instanceof e)) {
              paramg_.a((e)localObject, paramzc.b);
            }
          }
        } while ((!bool2) && ((!bool1) || (!(localObject instanceof zc))));
        zc localzc = (zc)localObject;
        a(localzc, paramg_);
      } while (bool2);
    } while (!bool1);
  }
  
  public bb j(e parame)
  {
    if (!o()) {
      return null;
    }
    bb localbb = new bb();
    a(i(parame), new g_()
    {
      private final bb val$result;
      
      public void a(e paramAnonymouse1, e paramAnonymouse2)
      {
        this.val$result.add(paramAnonymouse1);
      }
    });
    return localbb;
  }
  
  public bb k(e parame)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    if (!bool2) {
      if (!o()) {
        return null;
      }
    }
    zc localzc1 = i(parame);
    bb localbb = new bb();
    Iterator localIterator = localzc1.g().iterator();
    if (localIterator.hasNext()) {}
    label100:
    while (bool2)
    {
      Object localObject = localIterator.next();
      if (!bool2) {
        if ((localObject instanceof e))
        {
          if (bool2) {
            break label100;
          }
          localbb.add(localObject);
          if (!bool1) {
            break;
          }
        }
      }
      zc localzc2 = (zc)localObject;
      localbb.add(localzc2.b);
      if (!bool1) {
        break;
      }
    }
    return localbb;
  }
  
  public e l(e parame)
  {
    if (!d.R) {
      if (!o()) {
        return null;
      }
    }
    return this.k.b(parame).b;
  }
  
  public boolean b(e parame1, e parame2)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    e locale = l(parame1);
    do
    {
      if (parame2 == locale) {
        break;
      }
      if (bool1) {
        break label47;
      }
      if (locale == null) {
        break;
      }
      locale = l(locale);
    } while (!bool1);
    if (!bool2) {}
    label47:
    return locale == parame2;
  }
  
  boolean a(e parame, a.c.d paramd)
  {
    boolean bool = d.R;
    if (!bool) {
      if (parame == null) {
        return true;
      }
    }
    e locale1 = paramd.e();
    e locale2 = paramd.f();
    if ((bool) || (b(locale1, parame))) {
      if (bool) {}
    }
    return b(locale2, parame);
  }
  
  private static abstract interface d_
    extends Comparator, l.j_
  {}
  
  class f_
  {
    final a.c.d a;
    final e c;
    final e e;
    
    f_(a.c.d paramd, e parame1, e parame2)
    {
      this.a = paramd;
      this.c = parame1;
      this.e = parame2;
    }
    
    private void a()
    {
      boolean bool = d.R;
      if (!bool) {
        if (this.a.e() != this.e)
        {
          if (bool) {
            break label71;
          }
          if (this.a.f() != this.e) {
            throw new RuntimeException("Edge should contain endpoint " + this.e);
          }
        }
      }
      label71:
      if (!bool)
      {
        if (!hb.this.c.h(this.c)) {
          hb.this.c.e(this.c);
        }
        hb.this.c.a(this.c, hb.this.c.u(this.e));
      }
      hb.this.c.a(this.c, hb.this.c.o(this.e));
      int i = this.a.e() == this.e ? 1 : 0;
      if (!bool)
      {
        if (i != 0)
        {
          if (bool) {
            break label246;
          }
          hb.this.c.a(this.a, this.c, this.a.f());
        }
      }
      else if (!d.Q) {
        return;
      }
      label246:
      hb.this.c.a(this.a, this.a.e(), this.c);
    }
  }
  
  class e_
  {
    final Object a;
    final Object b;
    
    e_(Object paramObject1, Object paramObject2)
    {
      this.a = paramObject1;
      this.b = paramObject2;
    }
    
    public boolean equals(Object paramObject)
    {
      boolean bool = d.R;
      if (!bool) {
        if (this == paramObject) {
          return true;
        }
      }
      if (paramObject != null)
      {
        if (bool) {
          break label37;
        }
        if (getClass() == paramObject.getClass()) {}
      }
      else
      {
        return false;
      }
      label37:
      e_ locale_ = (e_)paramObject;
      if (!bool) {
        if (this.a != null)
        {
          if (bool) {
            break label90;
          }
          if (this.a.equals(locale_.a)) {
            break label86;
          }
          break label84;
        }
      }
      if (!bool) {
        if (locale_.a != null) {
          label84:
          return false;
        }
      }
      label86:
      label90:
      if ((bool) || ((this.b == null) || (!bool))) {}
      return (this.b.equals(locale_.b)) || ((goto 129) && (locale_.b == null));
    }
    
    public int hashCode()
    {
      boolean bool = d.R;
      int i = (bool) || (this.a != null) ? this.a.hashCode() : 0;
      i = 31 * i + ((bool) || (this.b != null) ? this.b.hashCode() : 0);
      return i;
    }
  }
  
  public static abstract interface g_
  {
    public abstract void a(e parame1, e parame2);
  }
}



/* Location:           E:\idea\

 * Qualified Name:     a.f.d.a.hb

 * JD-Core Version:    0.7.0.1

 */